Состояние службы
Состояние службы — это данные в памяти или на диске, необходимые службе для функционирования. Например, к ним относятся структуры данных и переменные-члены, которые считываются и записываются работающей службой. В зависимости от архитектуры службы она может также включать в себя файлы и другие ресурсы, которые хранятся на диске. Например, это могут быть файлы, которые база данных будет использовать для хранения данных и журналов транзакций.
В качестве примера службы давайте рассмотрим калькулятор. Простая служба калькулятора получает два числа и возвращает их сумму. В этом вычислении не используются переменные-члены или другие сведения.
Теперь рассмотрим такой же калькулятор, но с дополнительным методом для сохранения и возврата последней вычисленной суммы. Сейчас это служба с отслеживанием состояния. Эта означает, что она содержит некоторое состояние, в которое осуществляется запись (при вычислении новой суммы) и из которого осуществляется чтение (при возврате последней вычисляемой суммы).
В Azure Service Fabric первая служба называется службой без отслеживания состояния. Вторая служба называется службой с отслеживанием состояния.
Сохранение состояния службы
Состояние может быть выведено вовне или размещено совместно с кодом, который оперирует состоянием. Перенос состояния вовне, как правило, выполняется с помощью внешней базы данных или другого хранилища данных, работающего на разных компьютерах в сети или вне процесса на том же компьютере. В нашем примере калькулятора хранилищем данных может быть база данных SQL или экземпляр хранилища таблиц Azure. Каждый запрос на вычисление суммы приводит к обновлению этих данных, а запросы на возврат значения к службе приводят к получению текущего значения из хранилища.
Состояние может также размещаться вместе с кодом, который манипулирует этим состоянием. Как правило, службы с отслеживанием состояния в Service Fabric создаются на основе этой модели. Service Fabric предоставляет инфраструктуру, которая гарантирует высокий уровень доступности, согласованность и устойчивость этого состояния, а также простое масштабирование служб, создаваемых на основе этой модели.
Следующие шаги
Дополнительные сведения о понятиях Service Fabric см. в следующих статьях: