Поделиться через


Создание первого приложения Azure Service Fabric

Service Fabric предоставляет пакеты SDK для создания служб в среде Linux с помощью .NET Core и Java. В этом руководстве показано, как создать приложение для Linux, а также службу C# с помощью .NET Core 2.0.

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

Перед началом работы настройте среду разработки Linux. Если вы используете Mac OS X, вы можете настроить универсальную среду Linux на виртуальной машине с помощью Vagrant.

Также необходимо установить интерфейс командной строки Service Fabric

Установка и настройка генераторов для C#

Service Fabric предоставляет средства формирования шаблонов для создания приложений Service Fabric из терминала с помощью генератора шаблонов Yeoman. Сделайте следующее, чтобы настроить генераторы шаблона Yeoman Service Fabric для C#:

  1. Установите Node.js и NPM на компьютере.

    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash 
    nvm install node 
    
  2. Установите на компьютере генератор шаблонов Yeoman из NPM.

    npm install -g yo
    
  3. Установите генератор приложений C# Service Fabric Yeoman из NPM.

    npm install -g generator-azuresfcsharp
    

Создание приложения

Приложение Service Fabric может содержать одну или несколько служб, каждая из которых выполняет определенную роль в работе приложения. Установленный генератор Yeoman Service Fabric для C# упрощает создание первой службы и добавление последующих. Итак, с помощью Yeoman мы создадим приложение с одной службой.

  1. В терминале введите следующую команду для формирования шаблонов: yo azuresfcsharp

  2. Присвойте имя приложению.

  3. Выберите тип первой службы и присвойте ей имя. В этом примере мы выберем службу Reliable Actor.

    Генератор Service Fabric Yeoman для C#

Примечание

Дополнительные сведения о доступных возможностях см. в статье Общие сведения о модели программирования Service Fabric.

Построение приложения

Шаблоны Service Fabric для Yeoman включают скрипт сборки, с помощью которого можно создать приложение из терминала (после перемещения в папку приложения).

cd myapp
./build.sh

Развертывание приложения

Созданное приложение можно развернуть в локальном кластере.

  1. Подключитесь к удаленному кластеру Service Fabric.

    sfctl cluster select --endpoint http://localhost:19080
    
  2. С помощью скрипта установки (включен в шаблон) скопируйте пакет приложения в хранилище образов кластера, зарегистрируйте тип приложения и создайте экземпляр приложения.

    ./install.sh
    

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

Параметры для этих команд можно найти в созданном манифесте в пакете приложения.

Когда приложение будет развернуто, откройте браузер и перейдите к Service Fabric Explorer по адресу http://localhost:19080/Explorer. Затем разверните узел Приложения. Вы увидите одну запись для типа приложения и еще одну — для первого экземпляра этого типа.

Важно!

Чтобы развернуть приложение в защищенном кластере Linux в Azure, настройте сертификат для проверки приложения в среде выполнения Service Fabric. Таким образом, службы Reliable Services смогут взаимодействовать с API среды выполнения Service Fabric. Дополнительные сведения см. в разделе Настройка приложения Reliable Services для запуска на кластерах Linux.

Запуск тестового клиента и отработка отказа

Проекты субъекта предполагают использование дополнительных средств. Например, для отправки сообщений им требуется другая служба или клиент. Шаблон субъекта включает простой тестовый скрипт, обеспечивающий взаимодействие со службой субъекта.

  1. Запустите этот скрипт с помощью служебной программы для отслеживания, чтобы просмотреть выходные данные службы субъекта.

    В среде MAC OS X вам следует скопировать папку myactorsvcTestClient в расположение внутри контейнера, выполнив следующие дополнительные команды.

    docker cp  [first-four-digits-of-container-ID]:/home
    docker exec -it [first-four-digits-of-container-ID] /bin/bash
    cd /home
    
    cd myactorsvcTestClient
    watch -n 1 ./testclient.sh
    
  2. В Service Fabric Explorer найдите узел, в котором размещена первичная реплика службы субъекта. В нашем примере это узел 3.

    Поиск первичной реплики в Service Fabric Explorer

  3. Щелкните найденный узел, а затем щелкните в меню "Действия" пункт Отключить (перезапустить) . Будет перезапущен один узел в локальном кластере и выполнена принудительная отработка отказа с переходом на вторичную реплику, запущенную на другом узле. После этого обратите внимание на выходные данные тестового клиента: счетчик будет увеличиваться несмотря на отработку отказа.

Добавление дополнительных служб в существующее приложение

Чтобы добавить службу в приложение, созданное с использованием yo, сделайте следующее:

  1. Перейдите в корневой каталог существующего приложения. Например, cd ~/YeomanSamples/MyApplication, если MyApplication является приложением, созданным с помощью Yeoman.
  2. Выполнить yo azuresfcsharp:AddService

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