Изменения primary передаются репликам через журнал или поток изменений, затем воспроизводятся. При асинхронной репликации чтение может отставать от записи.
Если мы пишем в мастер большим потоком, а читаем с реплик — как происходит синхронизация мастера с репликой?
Изменения primary передаются репликам через журнал или поток изменений, затем воспроизводятся. При асинхронной репликации чтение может отставать от записи.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Изменения primary передаются репликам через журнал или поток изменений, затем воспроизводятся. При асинхронной репликации чтение может отставать от записи.
В PostgreSQL физическая streaming replication передаёт WAL; реплика получает и применяет его, причём получение и replay — разные стадии. Измеряйте lag и не направляйте чтение с требованием read-your-writes на произвольно отстающую реплику. Синхронное подтверждение зависит от настроенной стадии ожидания и не делает все реплики мгновенно одинаковыми. Большой поток записи требует достаточной пропускной способности и контроля накопления журнала.