Перейти к основному содержимому

Обеспечение отказоустойчивости графов репликации при обслуживании и развертывании

Все элементы GraDeLy работают в Kubernetes-подах. При рестарте или развертывании отдельных компонентов необходимо обеспечить наличие корректно настроенного обработчика ошибок (error handler connection_error retry) на ребрах графа. При восстановлении поды автоматически возобновляют участие в репликации.

Namespace: rpwl​

Pod: egress-gw-rplw-module​

  • Используется как шлюз для выхода из репликации.
  • Условие отказоустойчивости:
    На ребрах графа обязательно должен быть установлен обработчик ошибок connection_error retry.
  • Поведение при рестарте/повторном развертывании:
    • На время недоступности поды репликация прерывается.
    • После восстановления под автоматически переподключается к репликации.

Pod: in-gw-rplw-module-unver​

  • Аналогично egress-gw-rplw-module, но для входящего трафика.
  • Условие отказоустойчивости:
    Требуется error handler connection_error retry на ребрах графа.
  • Поведение при рестарте/повторном развертывании:
    После восстановления под возобновляет участие в репликации автоматически.

Pod: rplw-module-n-unver (воркеры репликации)​

Основные воркеры, выполняющие процессы репликации.

Поведение при рестарте/повторном развертывании:

  1. Если существует standby-резервирующий воркер:
    • он автоматически берет на себя репликацию на время простоя.
    • после восстановления основной воркер может снова включиться в работу.
  2. Если standby-резервирования нет:
    • перезапущенный воркер самостоятельно переподключается в репликацию после восстановления.
Внимание!

Для работы механизма standby-резервирования в момент рестарта воркеров должна быть доступна grdl-console. Консоль управляет назначением standby-модулей и обеспечивает автоматический failover.

Namespace: console+ui​

Pod: console, UI​

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

Итог​

Для шлюзов (egress-gw, in-gw) отказоустойчивость обеспечивается через connection_error retry. Для воркеров (rplw-module-n-unver) используется механизм standby-резервирования (или авто-переподключение без standby). Репликация сама восстанавливается после восстановления подов. Консоль и UI можно рестартовать без прерывания репликации, но при этом временно недоступно управление standby.