Перенастройка в 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 см. в следующих статьях: