Обеспечение отказоустойчивости графов репликации при обслуживании и деплое#
Все элементы 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 (воркеры репликации)#
Основные воркеры, выполняющие процессы репликации.
Поведение при рестарте/редеплое:
Если существует standby-резервирующий воркер:
он автоматически берёт на себя репликацию на время простоя.
после восстановления основной воркер может снова включиться в работу.
Если 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.