Что такое репликация в распределенной системе?
Опубликовано: 30 Сентября, 2022
В распределенной системе данные хранятся на разных компьютерах в сети. Поэтому нам нужно убедиться, что данные легко доступны для пользователей. Доступность данных является важным фактором, часто достигаемым путем репликации данных. Репликация — это практика хранения нескольких копий данных в разных местах.
Зачем нам репликация?
Прежде всего, это делает нашу систему более стабильной из-за репликации узлов. Хорошо иметь реплики узла в сети по следующим причинам:
- Если узел перестанет работать, распределенная сеть по-прежнему будет работать нормально благодаря своим репликам, которые будут там. Таким образом, повышается отказоустойчивость системы.
- Это также помогает в распределении нагрузки, когда нагрузка на сервер распределяется между различными репликами.
- Это повышает доступность данных. Если реплики создаются и данные хранятся рядом с потребителями, извлекать данные будет проще и быстрее.
Типы репликации
- Активная репликация
- Пассивная репликация
Активная репликация:
- Запрос клиента идет на все реплики.
- Необходимо убедиться, что каждая реплика получает запрос клиента в одном и том же порядке, иначе система станет несогласованной.
- Нет необходимости в координации, поскольку каждая копия обрабатывает один и тот же запрос в одной и той же последовательности.
- Все реплики отвечают на запрос клиента.
Преимущества:
- Это очень просто. Коды в активной репликации везде одни и те же.
- Он прозрачный.
- Даже если узел выходит из строя, он будет легко обработан репликами этого узла.
Недостатки:
- Это увеличивает потребление ресурсов. Чем больше количество реплик, тем больше памяти требуется.
- Это увеличивает временную сложность. Если какие-то изменения вносятся в одну реплику, они должны быть внесены и во все остальные.
Пассивная репликация:
- Запрос клиента направляется к первичной реплике, также называемой основной репликой.
- Существует больше реплик, которые действуют как резервная копия для первичной реплики.
- Первичная реплика информирует все остальные резервные реплики о любых сделанных изменениях.
- Ответ возвращается клиенту первичной репликой.
- Периодически первичная реплика отправляет некоторый сигнал резервным репликам, чтобы они знали, что она работает нормально.
- В случае сбоя первичной реплики резервная реплика становится первичной репликой.
Преимущества:
- Потребление ресурсов меньше, так как резервные серверы вступают в игру только при сбое основного сервера.
- Временная сложность этого также меньше, поскольку нет необходимости обновлять все реплики узлов, в отличие от активной репликации.
Недостатки:
- Если происходит какой-либо сбой, время отклика увеличивается.