TDB Documentation portal logo
Помощь

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

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

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

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

Режим stateful

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

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

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

  • определение доступных реплик, которые можно использовать в качестве резервных;
  • выбор реплики, которая будет использоваться в качестве нового лидер-узла — обычно это реплика с наиболее актуальными данными;
  • перенаправление всех запросов к выбранной реплике;
  • обновление метаданных системы для отображения новой конфигурации.