Автоматическое восстановление после отказа | Tdb
Руководство администратора Автоматическое восстановление после отказа

Автоматическое восстановление после отказа

Механизм автоматического восстановления после отказа (failover) позволяет контролировать назначение лидера в наборе реплик. Лидер – экземпляр в наборе реплик, доступный для записи данных. Остальные узлы в наборе реплик принимают только запросы на чтение. Если в какой-то момент экземпляр лидера станет недоступен, вместо него будет выбран и назначен новый лидер из набора реплик.

Подробная информация об отказоустойчивой архитектуре и поддерживаемых режимах работы приведена в документации Tarantool.

См. также: Настройка автоматического восстановления после отказа в веб-интерфейсе Cartridge.

Режим stateful

В Tarantool DB для работы автоматического восстановления после отказа в режиме stateful используется технологическая роль failover-coordinator. Экземпляры в кластере, которым назначена такая роль, называются координаторами. В режиме stateful один из экземпляров с ролью failover-coordinator управляет процессом переключения на резервные реплики в случае сбоя узла-лидера. Если в кластере несколько экземпляров с такой ролью, активным считается узел, захвативший блокировку во внешнем поставщике состояния.

Important

Рекомендуемое количество узлов с ролью failover-coordinator на один кластер – 2–3 экземпляра (по числу центров обработки данных).

Когда основной узел становится недоступным, координатор начинает процесс переключения на резервные реплики. Для определения доступных резервных реплик координатор использует карту лидеров – информацию о том, какие узлы являются лидерами. В режиме stateful карта лидеров хранится во внешнем поставщике состояния. Поддерживается два типа поставщика состояния:

  • Tarantool Stateboard (изолированный экземпляр Tarantool);

  • кластер etcd. Узнать больше: Настройка восстановления после отказа в режиме stateful с etcd. Поддерживается только API etcd версии 2.x. Использовать etcd 3.x можно только с опцией ETCD_ENABLE_V2=true.

    Note

    etcd версии 3.6.0 и выше не поддерживает опцию ETCD_ENABLE_V2. Для корректной работы в режиме stateful с etcd используйте версии etcd ниже 3.6.0.

Процесс переключения на новый экземпляр лидера выглядит так:

  • определение доступных реплик, которые можно использовать в качестве резервных;

  • выбор реплики, которая будет использоваться в качестве нового лидер-узла – обычно это реплика с наиболее актуальными данными;

  • перенаправление всех запросов к выбранной реплике;

  • обновление метаданных системы для отображения новой конфигурации.

Found what you were looking for?
Feedback