advanced

Replication

Используйте replication для availability и read scale, учитывая lag, failover, conflicts и read consistency.

Репликация копирует данные с primary на одну или несколько реплик для масштабирования чтения, доступности и географии. Модели: async (часто, допускается lag), sync (прочнее durability, выше латентность записи), multi-primary (нужно разрешение конфликтов).

					запись → primary → поток репликации → реплика(и) → read traffic
				

Failover повышает реплику при падении primary — нужны health checks, защита от split-brain и переподключение приложения. Чтение с реплик может быть устаревшим; туда направляют только eventually-consistent запросы.

На интервью: симптомы replication lag (пользователь видит старый баланс); репликация vs бэкапы; шаги failover и что ломается, если DNS или pooler кэширует старый primary.

Типовые ошибки: read-your-writes с async реплики; нет мониторинга lag; автоматический failover без fencing; кросс-региональная реплика как нулевой RPO; расхождение схемы между узлами.

Компромисс — пропускная способность чтения и доступность против lag консистентности, сложности конфликтов и операционного риска failover.

Чеклист:

  • Назовите sync vs async репликацию.
  • Укажите, какие чтения терпят staleness.
  • Мониторьте replication lag и алерты.
  • Задокументируйте failover и drain соединений.
  • Отличайте реплику от бэкапа.