Учебник по обновлению приложений Service Fabric с помощью Visual Studio
Azure Service Fabric упрощает процесс обновления облачных приложений за счет того, что обновляются только измененные службы, кроме того, в процессе обновления отслеживается работоспособность приложения. При обнаружении проблем автоматически выполняется откат к предыдущей версии приложения. Обновление приложений Service Fabric выполняется без времени простоя, так как приложение можно обновить без времени простоя. В этом учебнике описывается развертывание последовательного обновления из Visual Studio.
Шаг 1. Построение и публикация примера приложения Visual Objects
Во-первых, скачайте приложение Visual Objects с сайта GitHub. Затем выполните сборку приложения и опубликуйте его. Для этого щелкните правой кнопкой мыши проект приложения VisualObjects и выберите в меню Service Fabric команду Опубликовать.
После выбора Опубликовать отобразится всплывающее окно, в котором в качестве целевого профиля можно выбрать файл PublishProfiles\Local.xml. Перед нажатием кнопки Опубликоватьокно должно выглядеть следующим образом.
Теперь можно нажать кнопку Опубликовать в диалоговом окне. Для просмотра кластера и приложения теперь можно использовать обозреватель Service Fabric. Приложение Visual Objects включает в себя веб-службу, к которой можно перейти, указав в адресной строке браузера http://localhost:8081/visualobjects/
. Вы должны увидеть 10 плавающих визуальных объектов, перемещающихся по экрану.
Примечание. При развертывании в профиле Cloud.xml
(Azure Service Fabric) приложение должно быть доступно по адресу http://{ServiceFabricName}.{Region}.cloudapp.azure.com:8081/visualobjects/. Убедитесь, что в балансировщике нагрузки настроен 8081/TCP
(балансировщик нагрузки находится в той же группе ресурсов, что и экземпляр Service Fabric).
Шаг 2. Обновление образца визуальных объектов
Вы можете заметить, что в версии, развернутой на шаге 1, визуальные объекты не вращаются. Давайте обновим это приложение до версии, в которой визуальные объекты будут вращаться.
Выберите проект VisualObjects.ActorService в решении VisualObjects и откройте файл VisualObjectActor.cs. В этом файле перейдите к методу MoveObject
, а затем закомментируйте visualObject.Move(false)
и раскомментируйте visualObject.Move(true)
. Это изменение кода приведет к вращению объектов после обновления службы. Теперь можно выполнить сборку (не перестроить) решения. При этом будет выполнена сборка измененных проектов. Если вы выберете Перестроить все, то придется обновить версии для всех проектов.
Необходимо также задать версию приложения. Чтобы изменить версию, можно в Visual Studio щелкнуть проект VisualObjects правой кнопкой мыши и выбрать пункт меню Изменить версии манифеста. После этого откроется диалоговое окно для редактирования версий выпуска.
Обновите версии для измененных проектов, соответствующих пакетов кода и приложения до версии 2.0.0. После внесения изменений манифест должен выглядеть следующим образом (полужирным шрифтом выделены измененные части):
Средства Visual Studio могут выполнять автоматическое обновление версий, если вы выберете пункт меню Автоматическое обновление версий приложения и службы. Если вы используете SemVer, необходимо обновить код и (или) конфигурацию версии пакета, если выбран этот параметр.
Сохраните изменения и установите флажок Обновить приложение .
Шаг 3. Обновление приложения
Ознакомьтесь с параметрами обновления приложений и процессом обновления для лучшего понимания различных параметров обновления, значений времени ожидания и применяемых критериев. В этом пошаговом руководстве используется значение критерия оценки работоспособности по умолчанию (неотслеживаемый режим). Эти параметры можно установить, выбрав пункт Настроить параметры обновления и изменив параметры по мере необходимости.
Теперь все готово к тому, чтобы запустить обновление приложения нажатием кнопки Опубликовать. В результате приложение будет обновлено до версии 2.0.0, в которой объекты вращаются. Service Fabric обновляет домены обновления по одному (некоторые объекты будут обновлены первыми, другие — позже), и во время обновления служба остается доступна. Доступ к службе можно проверить с помощью клиента (в браузере).
По мере обновления приложения этот процесс можно отслеживать с помощью обозревателя Service Fabric (вкладка Upgrades in Progress (Выполняемые обновления) в разделе приложений).
Через несколько минут должны быть обновлены все домены обновления, и в окне выходных данных Visual Studio также должно появиться сообщение о том, что обновление выполнено. Кроме того, вы должны увидеть, что все визуальные объекты в окне браузера начали вращаться.
Вы можете попробовать изменить версии и перейти от версии 2.0.0 к версии 3.0.0 в качестве упражнения или даже от версии 2.0.0 назад к версии 1.0.0. Попробуйте изменить значения времени ожидания и параметры политики работоспособности в качестве тренировки. При развертывании в кластер Azure параметры могут отличаться от используемых при развертывании в локальный кластер. Рекомендуется применить консервативный подход при настройке значений времени ожидания.
Следующие шаги
Обновление приложения с помощью PowerShell поможет вам выполнить обновление приложения с помощью PowerShell.
Управление обновлениями приложения осуществляется с помощью параметров обновления.
Узнайте, как использовать сериализацию данных, чтобы обеспечить совместимость обновлений приложения.
Дополнительные разделысодержат сведения о работе с расширенными функциями при обновлении приложения.
Сведения об устранении распространенных проблем при обновлении приложений см. в статье Устранение неполадок обновления приложения.