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

Переключение кластера Stand-In

Предусловия​

  • Развернуты 4 воркера репликации.
  • Графы репликации (прямого и обратного направления) уже созданы и настроены и запущены
  • Пользователь авторизован под ролью APPADMIN или APPDUTY.
  • Клиентские модули доступны и готовы к переключению.

Процесс​

  1. Пользователь в веб-интерфейсе GraDeLy Console переходит в раздел "Stand-in".

  2. Нажимает на кнопку "…" рядом с нужным кластером и выбирает "Переключение".

  3. UI отправляет REST-запрос на сервер:

    POST /cluster/{clusterId}/switch
  4. API Console GraDeLy пересылает запрос одному из воркеров (например, воркеру захвата).

  5. Воркер публикует сообщение в топик Kafka standin-state со статусом:

    status = REQUEST

    — Это сигнал о начале процесса переключения.

  6. Клиентские модули:

    • Считывают сообщение со статусом REQUEST.

    • Переводят клиентское приложение в режим read-only.

    • Собирают кворум готовности.

    • Записывают вотермарку (watermark) о готовности к переключению в служебную таблицу:

      $GRADELY_SWITCHOVER$

      — в обеих БД: Источника и Приемника.

  7. Воркер:

    • Периодически проверяет таблицу $GRADELY_SWITCHOVER$.

    • Как только видит вотермарку, формирует и отправляет сообщение в топик standin-state со статусом:

      status = REQUEST
  8. Клиентские модули:

    • Считывают сообщение REQUEST.
    • Выполняют переключение клиентского приложения на базу Stand-In как новую основную.
  9. Веб-интерфейс GraDeLy обновляет статус кластера:

    • Отображает: "SwitchOver".
    • Подтверждает успешное переключение.