Механизм репликации данных Центра настройки

Для обеспечения целостности конфигурации между всеми серверами кластера в Платформе используется механизм репликации. Центр настройки (ЦН) периодически отправляет изменения конфигурации на другие узлы в виде архивов с измененными файлами.

Этот механизм работает автоматически и не требует действий от администратора.

Примечание

Очереди сообщений реплицирует Модуль горячего восстановления.

Основные моменты

  • Конфигурация отправляется в виде архивов в структуре директорий конфигурации.

  • Используется версия каждого архива.

  • На стороне каждого узла сохраняются очереди.

  • Если архив не был доставлен, он будет отправлен повторно.

Внимание

Этот механизм реплицирует файлы конфигурации ЦН. Репликация данных о пользователях и правах выполняется отдельно сервисом Credential.

Общая схема

Старт сервера с ЦН

При старте мастер-ЦН запускает автозадачу по отправке актуальной конфигурации: осуществляется сбор и рассылка последней версии конфигурации (архивируются все файлы каталога FileConfig).

Если адрес или порт ЦН у какой-то ноды изменился, мастер запрашивает у нее актуальный порт и обновляет запись. Если ответ не получен, никакие дополнительные действия не предпринимаются.

Старт дублирующего ЦН

Если узел — не мастер, он не отправляет конфигурацию, а запрашивает полную копию конфигурации у мастера. Мастер ЦН при этом создает полную версию конфигурации, отправляет всем серверам. После получения репликации счетчик версий обнуляется.

Периодическая отправка изменений

Каждые 30 секунд ЦН:

  • Собирает список файлов, измененных c момента последней успешной синхронизации.

  • Упаковывает их в архив.

  • Отправляет архивы на другие ноды.

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

Полная синхронизация

При получении сообщения о необходимости принудительной синхронизации для определенной ноды:

  • Формируется полный архив всей конфигурации.

  • Очереди очищаются.

  • Архив отправляется только на выбранную ноду.

Это используется при разрыве версий или больших пропусках.

Внимание

При получении сообщения о необходимости полной синхронизации конфигурация целиком отправляется на все ноды.

Получение и применение архива

После подтверждения получения на дочерней ноде:

  • Архив распаковывается строго в структуру конфигурации, если разница существующей и полученной версий равна единице.

Внимание

Если разница существующей и полученной версий больше пяти (например, номер версии на ноде 8, а получен архив с номером 14) или номер версии на ноде больше номера архива или равен ему, то:

  1. Формируется сообщение в лог о необходимости проведения полной синхронизации.

  2. Формируется сообщение для ноды с ЦН о необходимости формирования полной копии конфигурации.

  3. Обработка завершается. Обработка на данном этапе завершается, так как нода ждет архив с номером версии, следующим от текущей примененной версии.

  • Версия увеличивается на 1.

  • Проверяются архивы в очереди “на обновлении”.

  • Если следующий архив по версии совпадает, применяется сразу.

Действия повторяются для всех архивов в очереди (если они остались). Таким образом достигается согласованность файлов на всех узлах кластера.