Настройка обновления приложения Service Fabric в Visual Studio
Средства Visual Studio для Azure Service Fabric обеспечивают поддержку обновления для публикации на локальных и удаленных кластерах. Существуют три сценария, в которых следует обновить приложение до более новой версии, а не заменить его, во время тестирования и отладки:
- данные приложения не будут потеряны во время обновления;
- достигается высокий уровень доступности, так как не будет перерывов в доступности службы по время обновления, если по доменам обновления распределено достаточное количество экземпляров службы.
- Тесты для приложения могут запускаться во время его обновления.
Параметры, необходимые для обновления
Существует два типа развертывания: обычное или обновление. При обычном развертывании стираются все предыдущие сведения о развертывании и данные в кластере, а при обновлении они сохраняются. При обновлении приложения Service Fabric в Visual Studio необходимо указать параметры обновления приложения и политики проверки работоспособности. Параметры обновления приложения помогают управлять обновлением, а политики проверки работоспособности определяют, было обновление успешным или нет. Дополнительные сведения см. в статье Параметры обновления приложений.
Существует три режима обновления: отслеживаемое, неотслеживаемое автоматическое и неотслеживаемое ручное.
- При отслеживаемом обновлении процесс обновления и проверка работоспособности приложения автоматизируются.
- При неотслеживаемом автоматическом обновлении процесс обновления автоматизируется, но проверка работоспособности приложения пропускается.
- При выполнении неотслеживаемого ручного обновления необходимо вручную обновить каждый домен обновления.
Для каждого режима обновления необходим различный набор параметров. Дополнительные сведения о доступных параметрах обновления см. в статье Параметры обновления приложений.
Обновление приложения Service Fabric в Visual Studio
При использовании средств Service Fabric Visual Studio для обновления приложения Service Fabric можно указать, что процесс публикации будет подразумевать обновление, а не обычное развертывание, установив флажок Обновить приложение .
Настройка параметров обновления
Нажмите кнопку Параметры рядом с флажком. Откроется диалоговое окно Изменение параметров обновления . Диалоговое окно Изменение параметров обновления поддерживает отслеживаемое, неотслеживаемое автоматическое и ручное обновления.
Выберите режим обновления, который хотите использовать, и заполните сетку параметров.
Каждый параметр имеет значения по умолчанию. Необязательный параметр DefaultServiceTypeHealthPolicy принимает входную хэш-таблицу. Ниже приведен пример формата входной хэш-таблицы для DefaultServiceTypeHealthPolicy:
@{ ConsiderWarningAsError = "false"; MaxPercentUnhealthyDeployedApplications = 0; MaxPercentUnhealthyServices = 0; MaxPercentUnhealthyPartitionsPerService = 0; MaxPercentUnhealthyReplicasPerPartition = 0 }
ServiceTypeHealthPolicyMap — еще один необязательный параметр, который принимает входную хэш-таблицу в следующем формате:
@ {"ServiceTypeName" : "MaxPercentUnhealthyPartitionsPerService,MaxPercentUnhealthyReplicasPerPartition,MaxPercentUnhealthyServices"}
Ниже приведен пример из реальной жизни:
@{ "ServiceTypeName01" = "5,10,5"; "ServiceTypeName02" = "5,5,5" }
При выборе неотслеживаемого автоматического обновления необходимо будет вручную запустить консоль PowerShell для продолжения и завершения процесса обновления. Чтобы узнать, как работает ручное обновление, обратитесь к разделу Обновление приложения Service Fabric: дополнительные разделы .
Обновление приложения с помощью PowerShell
Обновить приложение Service Fabric можно с помощью командлетов PowerShell. Подробные сведения см. в руководстве по обновлению приложений Service Fabric и статье, посвященной командлету Start-ServiceFabricApplicationUpgrade.
Задание политики проверки работоспособности в файле манифеста приложения
Каждая служба в приложении Service Fabric может иметь собственные параметры политики работоспособности, которые переопределяют значения по умолчанию. Эти значения параметров можно указать в файле манифеста приложения.
В следующем примере показано, как применить уникальную политику проверки работоспособности для каждой службы в манифесте приложения.
<Policies>
<HealthPolicy ConsiderWarningAsError="false" MaxPercentUnhealthyDeployedApplications="20">
<DefaultServiceTypeHealthPolicy MaxPercentUnhealthyServices="20"
MaxPercentUnhealthyPartitionsPerService="20"
MaxPercentUnhealthyReplicasPerPartition="20" />
<ServiceTypeHealthPolicy ServiceTypeName="ServiceTypeName1"
MaxPercentUnhealthyServices="20"
MaxPercentUnhealthyPartitionsPerService="20"
MaxPercentUnhealthyReplicasPerPartition="20" />
</HealthPolicy>
</Policies>
Следующие шаги
Дополнительные сведения см. в статье об обновлении приложения с помощью Visual Studio.