Синхронная vs асинхронная репликация?

Middle+
390 просмотров
AFK Offer AI

Синхронная репликация: мастер ждёт подтверждения от реплики перед коммитом транзакции. Гарантирует что данные не потеряются при падении мастера, но увеличивает латентность.

Асинхронная: мастер коммитит сразу и отправляет изменения реплике в фоне. Быстрее, но при падении мастера можно потерять последние транзакции (replication lag).

В PostgreSQL:

  • synchronous_commit = on — синхронная
  • synchronous_commit = off — асинхронная
Компромисс: semi-synchronous — ждём хотя бы одну реплику из нескольких. На практике используют асинхронную для read-реплик и синхронную для failover-реплики.

Следующий вопрос

Как работает docker-compose override?