Что такое репликация в распределенной системе?

Опубликовано: 30 Сентября, 2022

В распределенной системе данные хранятся на разных компьютерах в сети. Поэтому нам нужно убедиться, что данные легко доступны для пользователей. Доступность данных является важным фактором, часто достигаемым путем репликации данных. Репликация — это практика хранения нескольких копий данных в разных местах.

Зачем нам репликация?

Прежде всего, это делает нашу систему более стабильной из-за репликации узлов. Хорошо иметь реплики узла в сети по следующим причинам:

  • Если узел перестанет работать, распределенная сеть по-прежнему будет работать нормально благодаря своим репликам, которые будут там. Таким образом, повышается отказоустойчивость системы.
  • Это также помогает в распределении нагрузки, когда нагрузка на сервер распределяется между различными репликами.
  • Это повышает доступность данных. Если реплики создаются и данные хранятся рядом с потребителями, извлекать данные будет проще и быстрее.

Типы репликации

  • Активная репликация
  • Пассивная репликация

Активная репликация:

  • Запрос клиента идет на все реплики.
  • Необходимо убедиться, что каждая реплика получает запрос клиента в одном и том же порядке, иначе система станет несогласованной.
  • Нет необходимости в координации, поскольку каждая копия обрабатывает один и тот же запрос в одной и той же последовательности.
  • Все реплики отвечают на запрос клиента.

Преимущества:

  • Это очень просто. Коды в активной репликации везде одни и те же.
  • Он прозрачный.
  • Даже если узел выходит из строя, он будет легко обработан репликами этого узла.

Недостатки:

  • Это увеличивает потребление ресурсов. Чем больше количество реплик, тем больше памяти требуется.
  • Это увеличивает временную сложность. Если какие-то изменения вносятся в одну реплику, они должны быть внесены и во все остальные.

Пассивная репликация:

  • Запрос клиента направляется к первичной реплике, также называемой основной репликой.
  • Существует больше реплик, которые действуют как резервная копия для первичной реплики.
  • Первичная реплика информирует все остальные резервные реплики о любых сделанных изменениях.
  • Ответ возвращается клиенту первичной репликой.
  • Периодически первичная реплика отправляет некоторый сигнал резервным репликам, чтобы они знали, что она работает нормально.
  • В случае сбоя первичной реплики резервная реплика становится первичной репликой.

Преимущества:

  • Потребление ресурсов меньше, так как резервные серверы вступают в игру только при сбое основного сервера.
  • Временная сложность этого также меньше, поскольку нет необходимости обновлять все реплики узлов, в отличие от активной репликации.

Недостатки:

  • Если происходит какой-либо сбой, время отклика увеличивается.