Доступность служб структуры служб

В этой статье представлен обзор способа, который используется в Azure Service Fabric для поддержания доступности службы.

Доступность служб без отслеживания состояния в структуре служб

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

При создании службы без отслеживания состояния требуется определить InstanceCount. Число экземпляров определяет количество экземпляров логики приложения службы без отслеживания состояния, которые нужно запустить в кластере. Увеличение количества экземпляров — это рекомендованный способ развертывания службы без отслеживания состояния.

При сбое экземпляра именованной службы без отслеживания состояния создается новый экземпляр на каком-либо подходящем узле в кластере. Например, при сбое экземпляра службы без отслеживания состояния в узле Node1 экземпляр воссоздается на узле Node5.

Доступность служб с отслеживанием состояния в структуре служб

Служба с отслеживанием состояния предусматривает наличие связанных с ней сведений о состоянии. В структуре служб служба с отслеживанием состояния моделируется в виде набора реплик. Каждая реплика представляет собой выполняемый экземпляр кода службы. В реплике также содержится копия сведений о состоянии этой службы. Операции чтения и записи выполняются в одной реплике, которая называется первичной. Изменения состояния, вызванные операциями записи, реплицируются на другие реплики в наборе, которые называются активными вторичными репликами, и применяются.

Первичная реплика может быть только одна. Активных вторичных реплик может быть несколько. Количество активных вторичных реплик можно настроить. Большее количество вторичных реплик позволяет обрабатывать большее количество программных и аппаратных сбоев.

В случае сбоя первичной реплики Service Fabric передает функции первичной реплики одной из активных вторичных реплик. Активная вторичная реплика уже имеет обновленную версию состояния через репликацию и может продолжить дальнейшую обработку операций чтения и записи. Этот процесс называется перенастройкой и описан далее в статье Перенастройка в Azure Service Fabric.

Такое представление о том, что реплика может быть первичной или активной вторичной, известно как роль реплики. Эти реплики описаны далее в статье Реплики и экземпляры.

Дальнейшие действия

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