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


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

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

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

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

Вы также хотите установить Service Fabric CLI

Установка и настройка генераторов для 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. Запустите этот скрипт с помощью утилиты watch, чтобы просмотреть выходные данные службы акторов.

    В среде 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

Следующие шаги