Доступность служб структуры служб
В этой статье представлен обзор способа, который используется в Azure Service Fabric для поддержания доступности службы.
Доступность служб без отслеживания состояния в структуре служб
Службы Service Fabric могут предусматривать или не предусматривать отслеживание состояния. Служба без отслеживания состояния — это служба приложения, не предусматривающая наличия сведений о локальном состоянии, для которой не требуется поддерживать высокие уровни доступности или надежности.
При создании службы без отслеживания состояния требуется определить InstanceCount
. Число экземпляров определяет количество экземпляров логики приложения службы без отслеживания состояния, которые нужно запустить в кластере. Увеличение количества экземпляров — это рекомендованный способ развертывания службы без отслеживания состояния.
При сбое экземпляра именованной службы без отслеживания состояния создается новый экземпляр на каком-либо подходящем узле в кластере. Например, при сбое экземпляра службы без отслеживания состояния в узле Node1 экземпляр воссоздается на узле Node5.
Доступность служб с отслеживанием состояния в структуре служб
Служба с отслеживанием состояния предусматривает наличие связанных с ней сведений о состоянии. В структуре служб служба с отслеживанием состояния моделируется в виде набора реплик. Каждая реплика представляет собой выполняемый экземпляр кода службы. В реплике также содержится копия сведений о состоянии этой службы. Операции чтения и записи выполняются в одной реплике, которая называется первичной. Изменения состояния, вызванные операциями записи, реплицируются на другие реплики в наборе, которые называются активными вторичными репликами, и применяются.
Первичная реплика может быть только одна. Активных вторичных реплик может быть несколько. Количество активных вторичных реплик можно настроить. Большее количество вторичных реплик позволяет обрабатывать большее количество программных и аппаратных сбоев.
В случае сбоя первичной реплики Service Fabric передает функции первичной реплики одной из активных вторичных реплик. Активная вторичная реплика уже имеет обновленную версию состояния через репликацию и может продолжить дальнейшую обработку операций чтения и записи. Этот процесс называется перенастройкой и описан далее в статье Перенастройка в Azure Service Fabric.
Такое представление о том, что реплика может быть первичной или активной вторичной, известно как роль реплики. Эти реплики описаны далее в статье Реплики и экземпляры.
Следующие шаги
Дополнительные сведения о понятиях Service Fabric см. в следующих статьях: