Перейти к содержимому
6 / 15

Как устроена репликация и что ломается при чтении с реплик?

Репликация — копия базы, которую поддерживает поток изменений с основного узла. При асинхронной репликации коммит подтверждается сразу, не дожидаясь реплики: быстро, но при аварийном переключении хвост транзакций, не доехавший до реплики, теряется. При синхронной коммит ждёт подтверждения реплики: потери нет, зато задержка записи привязана к самой медленной реплике, а её недоступность может остановить запись. Реплики на чтение разгружают основной узел, но приносят отставание и нарушают чтение своих записей — пользователь сохранил профиль и тут же увидел старые данные. Лечится маршрутизацией: после записи короткое время читать с основного узла либо ждать нужной позиции журнала. И главное: репликация про доступность и чтение, а не про масштабирование записи.

Как устроена репликация и что ломается при чтении с реплик? | JScriptiser