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

Все элементы 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.