Назад к вопросам
Junior
100
questionbank
Что такое репликация в контексте баз данных и приложений?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Репликация — это процесс создания и поддержания нескольких копий данных базы данных или состояния приложения на разных серверах.
Цели репликации:
- Повышение доступности (High Availability): При выходе из строя одного сервера, другие реплики могут продолжить обслуживать запросы.
- Улучшение масштабируемости (Scalability): Читающие запросы могут распределяться между репликами, снижая нагрузку на основной сервер.
- Географическое распределение (Disaster Recovery): Реплики могут находиться в разных дата-центрах для защиты от локальных сбоев.
- Уменьшение задержек (Latency): Пользователи могут читать данные из ближайшей к ним реплики.
Типы репликации:
- Синхронная: Изменения записываются на все реплики до того, как транзакция подтверждается клиенту. Обеспечивает сильную консистентность, но может увеличивать задержку записи.
- Асинхронная: Транзакция подтверждается клиенту после записи на основной сервер. Реплики обновляются позже. Обеспечивает более высокую производительность записи, но возможна временная рассогласованность данных.
Режимы репликации:
- Master-Replica (или Master-Slave): Одна реплика (master) принимает все записывающие операции, а остальные (replicas) только читающие, получая изменения от master.
- Multi-Master: Несколько реплик могут принимать записывающие операции. Требует механизма разрешения конфликтов.
В контексте приложений, репликация может относиться к созданию нескольких экземпляров приложения (сервисов) для тех же целей: повышения доступности и масштабируемости. Например, запуск нескольких подов в Kubernetes, каждый из которых является репликой одного и того же сервиса.