Переключение кластера Stand-In
Предусловия
- Развернуты 4 воркера репликации.
- Графы репликации (прямого и обратного направления) уже созданы и настроены и запущены
- Пользователь авторизован под ролью
APPADMINилиAPPDUTY. - Клиентские модули доступны и готовы к переключению.
Процесс
-
Пользователь в веб-интерфейсе GraDeLy Console переходит в раздел "Stand-in".
-
Нажимает на кнопку "…" рядом с нужным кластером и выбирает "Переключение".
-
UI отправляет REST-запрос на сервер:
POST /cluster/{clusterId}/switch -
API Console GraDeLy пересылает запрос одному из воркеров (например, воркеру захвата).
-
Воркер публикует сообщение в топик Kafka
standin-stateсо статусом:status = REQUEST— Это сигнал о начале процесса переключения.
-
Клиентские модули:
-
Считывают сообщение со статусом
REQUEST. -
Переводят клиентское приложение в режим read-only.
-
Собирают кворум готовности.
-
Записывают вотермарку (watermark) о готовности к переключению в служебную таблицу:
$GRADELY_SWITCHOVER$— в обеих БД: Источника и Приемника.
-
-
Воркер:
-
Периодически проверяет таблицу
$GRADELY_SWITCHOVER$. -
Как только видит вотермарку, формирует и отправляет сообщение в топик
standin-stateсо статусом:status = REQUEST
-
-
Клиентские модули:
- Считывают сообщение
REQUEST. - Выполняют переключение клиентского приложения на базу Stand-In как новую основную.
- Считывают сообщение
-
Веб-интерфейс GraDeLy обновляет статус кластера:
- Отображает: "SwitchOver".
- Подтверждает успешное переключение.