Создание первого приложения Azure Service Fabric
Service Fabric предоставляет пакеты SDK для создания служб в среде Linux с помощью .NET Core и Java. В этом руководстве показано, как создать приложение для Linux, а также службу C# с помощью .NET Core 2.0.
Необходимые компоненты
Перед началом работы настройте среду разработки Linux. Если вы используете macOS X, вы можете настроить одно боксовую среду Linux на виртуальной машине с помощью Vagrant.
Вы также хотите установить интерфейс командной строки Service Fabric
Установка и настройка генераторов для C#
Service Fabric предоставляет средства формирования шаблонов для создания приложений Service Fabric из терминала с помощью генератора шаблонов Yeoman. Сделайте следующее, чтобы настроить генераторы шаблона Yeoman Service Fabric для C#:
Установите Node.js и NPM на компьютере.
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash nvm install node
Установите на компьютере генератор шаблонов Yeoman из NPM.
npm install -g yo
Установите генератор приложений C# Service Fabric Yeoman из NPM.
npm install -g generator-azuresfcsharp
Создание приложения
Приложение Service Fabric может содержать одну или несколько служб, каждая из которых выполняет определенную роль в работе приложения. Установленный генератор Yeoman Service Fabric для C# упрощает создание первой службы и добавление последующих. Итак, с помощью Yeoman мы создадим приложение с одной службой.
В терминале введите следующую команду для формирования шаблонов:
yo azuresfcsharp
Присвойте имя приложению.
Выберите тип первой службы и присвойте ей имя. В этом примере мы выберем службу Reliable Actor.
Примечание.
Дополнительные сведения о доступных возможностях см. в статье Общие сведения о модели программирования Service Fabric.
Сборка приложения
Шаблоны Service Fabric для Yeoman включают скрипт сборки, с помощью которого можно создать приложение из терминала (после перемещения в папку приложения).
cd myapp
./build.sh
Развертывание приложения
Созданное приложение можно развернуть в локальном кластере.
Подключитесь к удаленному кластеру Service Fabric.
sfctl cluster select --endpoint http://localhost:19080
С помощью скрипта установки (включен в шаблон) скопируйте пакет приложения в хранилище образов кластера, зарегистрируйте тип приложения и создайте экземпляр приложения.
./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.
Запуск тестового клиента и отработка отказа
Проекты актеров не делают ничего самостоятельно. Например, для отправки сообщений им требуется другая служба или клиент. Шаблон субъекта включает простой тестовый скрипт, обеспечивающий взаимодействие со службой субъекта.
Запустите этот скрипт с помощью служебной программы для отслеживания, чтобы просмотреть выходные данные службы субъекта.
В среде 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
В Service Fabric Explorer найдите узел, в котором размещена первичная реплика службы субъекта. В нашем примере это узел 3.
Щелкните найденный узел, а затем щелкните в меню "Действия" пункт Отключить (перезапустить) . Будет перезапущен один узел в локальном кластере и выполнена принудительная отработка отказа с переходом на вторичную реплику, запущенную на другом узле. После этого обратите внимание на выходные данные тестового клиента: счетчик будет увеличиваться несмотря на отработку отказа.
Добавление дополнительных служб в существующее приложение
Чтобы добавить службу в приложение, созданное с использованием yo
, сделайте следующее:
- Перейдите в корневой каталог существующего приложения. Например,
cd ~/YeomanSamples/MyApplication
, еслиMyApplication
является приложением, созданным с помощью Yeoman. - Выполнить
yo azuresfcsharp:AddService
Следующие шаги
- Azure Service Fabric command line (Интерфейс командной строки Azure Service Fabric)
- Сведения о вариантах поддержки Service Fabric
- Командная строка Azure Service Fabric