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 соединений.
- Отличайте реплику от бэкапа.