Короткий ответ
Read-реплика — асинхронная копия основной базы данных, доступная только для чтения, которая используется для горизонтального масштабирования нагрузки чтения; она не предназначена как основной механизм обеспечения высокой доступности.
Как это работает подробнее
изменения с primary реплицируются на read-реплику асинхронно, с задержкой (replication lag); приложение направляет запросы на чтение на реплику, а запросы на запись — только на primary.
Пример кода
example.txt
aws rds create-db-instance-read-replica \
--db-instance-identifier prod-db-replica-1 \
--source-db-instance-identifier prod-dbЧто использовать на практике
- Рекомендация. read-реплики добавляют, когда чтение становится узким местом; важно мониторить replication lag и проектировать приложение так, чтобы допускать eventual consistency для данных, прочитанных с реплики.
- Проверка. новая реплика появляется в статусе
available, метрикаReplicaLagпоказывает задержку в секундах относительно primary.
Подводные камни
- Риск. использовать read-реплику как резервную копию для аварийного переключения записи без понимания, что promotion — ручная или полуавтоматическая операция с простоем
- Риск. направлять на реплику запросы, которым критична свежесть данных сразу после записи.