Руководство. Демонстрация отработки отказа и масштабирования служб контейнеров в Service Fabric

Это руководство представляет собой первую часть цикла. В нем вы узнаете, как обрабатывается отработка отказа в приложениях-контейнерах Service Fabric. Кроме того, вы научитесь масштабировать контейнеры. Изучив это руководство, вы:

  • Отработка отказа контейнера в кластера Service Fabric
  • Масштабирование контейнеров веб-интерфейса в приложении

Предварительные требования

Приложение из части 2, запущенное в активном кластере Service Fabric.

Отработка отказа контейнера в кластере

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

Чтобы выполнить отработку отказа внешнего контейнера, сделайте следующее:

  1. Откройте Service Fabric Explorer в своем кластере (например, по ссылке http://lin4hjim3l4.westus.cloudapp.azure.com:19080).
  2. Щелкните узел fabric:/TestContainer/azurevotefront в представлении в виде дерева и разверните узел раздела (он отображается в виде идентификатора GUID). Обратите внимание на имя узла в представлении в виде дерева, в котором отображаются узлы, на которых в данным момент выполняется контейнер. Пример: _nodetype_1.
  3. Разверните узел Nodes в представлении в виде дерева. Щелкните многоточие (три точки) рядом с узлом, на котором выполняется контейнер.
  4. Выберите Перезапустить, чтобы перезапустить этот узел, и подтвердите операцию перезапуска. Перезапуск приведет к отработке отказа контейнера на другой узел в кластере.

noderestart

Обратите внимание на то, как изменилось имя узла (на котором выполняются внешние контейнеры). Теперь это другой узел в кластере. Через несколько секунд можно будет снова перейти к приложению, и вы увидите, что теперь оно выполняется на другом узле.

Масштабирование контейнеров и служб в кластере

Контейнеры Service Fabric могут масштабироваться в кластере с учетом изменения нагрузки на службы. Масштабирование контейнера осуществляется путем изменения числа экземпляров, запущенных в кластере.

Для масштабирования веб-интерфейса выполните следующие действия.

  1. Откройте Service Fabric Explorer в своем кластере (например, по ссылке http://lin4hjim3l4.westus.cloudapp.azure.com:19080).
  2. Щелкните многоточие (три точки) рядом с узлом fabric:/TestContainer/azurevotefront в представлении в виде дерева и выберите Масштабировать службу.

sfxscale

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

  1. Измените количество на 2 и нажмите кнопку Масштабировать службу.
  2. Щелкните узел fabric:/TestContainer/azurevotefront в представлении в виде дерева и разверните узел раздела (он отображается в виде идентификатора GUID).

sfxscaledone

Теперь вы можете увидеть два экземпляра службы. В представлении в виде дерева можно узнать, на каких узлах выполняются эти экземпляры.

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

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

В этом руководстве была показана отработка отказа контейнера, а также масштабирование приложения. Были выполнены следующие действия:

  • Отработка отказа контейнера в кластера Service Fabric
  • Масштабирование контейнеров веб-интерфейса в приложении

Из этого цикла руководств вы узнали, как выполнять такие задачи:

  • Создание образов контейнеров
  • передача образов контейнеров в реестр контейнеров Azure;
  • упаковка контейнеров для Service Fabric с помощью Yeoman;
  • создание и развертывание приложения Service Fabric с использованием контейнеров;
  • отработка отказа и масштабирование в Service Fabric.