Поделиться через


Перенастройка в Azure Service Fabric

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

Перенастройка — это процесс перемещения одной конфигурации в другую конфигурацию. При этом изменяется набор реплик для секции службы с отслеживанием состояния. Старая конфигурация называется предыдущей конфигурацией, а новая конфигурация называется текущей конфигурацией. Протокол перенастройки в Azure Service Fabric сохраняет согласованность и обеспечивает доступность во время любых изменений в наборе реплик.

Диспетчер отработки отказов инициирует перенастройку в ответ на различные события в системе. Например, при сбое первичной реплики инициируется перенастройка для повышения уровня активной вторичной реплики до первичной. Другой пример: в ответ на обновление приложения может потребоваться переместить первичную реплику на другой узел, чтобы обновить узел.

Типы перенастройки

Перенастройку можно разделить на два типа:

  • Перенастройка, при которой изменяется первичная реплика:

    • отработка отказа представляет собой перенастройку в ответ на сбой работающей первичной реплики;
    • переключение первичной реплики представляет собой перенастройку, при которой Service Fabric нужно переместить работающую первичную реплику с одного узла на другой. Как правило, это происходит в ответ на балансировку нагрузки, обновление и т. п.
  • Перенастройка, при которой первичная реплика не изменяется.

Этапы перенастройки

Перенастройка осуществляется в несколько этапов.

  • Этап 0. Этот этап выполняется при перенастройке с переключением первичной реплики, при которой состояние текущей первичной реплики передается новой первичной реплике, после чего бывшая текущая первичная реплика становится активной вторичной репликой.

  • Этап 1. Этот этап выполняется во время перенастройки с изменением первичной реплики. На этом этапе Service Fabric определяет, какая из текущих реплик является корректной первичной репликой. Данный этап не нужен при перенастройке с переключением первичной реплики, так как в этом случае новая первичная реплика уже выбрана.

  • Этап 2. На этом этапе Service Fabric обеспечивает наличие всех данных в большинстве реплик текущей конфигурации.

Существуют еще несколько этапов, которые предназначены только для внутреннего использования.

Блокировка перенастройки

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

  • Неработающие реплики: для некоторых этапов перенастройки требуется, чтобы большинство реплик в конфигурации было запущено.
  • Проблемы с сетью или связью: для перенастройки требуется сетевое подключение между разными узлами.
  • Сбои API: протокол перенастройки предписывает выполнение некоторых интерфейсов API реализациями службы. Например, если маркер отмены не учитывается в надежной службе, это приведет к блокировке перенастройки с переключением первичной реплики.

Используйте отчеты о работоспособности из системных компонентов, таких как System.FM, System.RA и System.RAP, чтобы диагностировать причину блокировки перенастройки. Эти отчеты описаны на странице отчетов о работоспособности системы.

Следующие шаги

Дополнительные сведения о понятиях Service Fabric см. в следующих статьях: