Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
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#:
Установите 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.
Запустите тестовый клиент и выполните резервное переключение.
Проекты, связанные с актерами, сами по себе ничего не делают. Например, для отправки сообщений им требуется другая служба или клиент. Шаблон актёра включает простой тестовый скрипт, который можно использовать для взаимодействия со службой актёра.
Запустите этот скрипт с помощью утилиты 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
В Service Fabric Explorer найдите узел, на котором размещена первичная реплика акторной службы. В нашем примере это узел 3.
Щелкните найденный узел, а затем щелкните в меню "Действия" пункт Отключить (перезапустить) . Перезапуск одного узла в локальном кластере приведет к принудительному переключению на вторичную реплику, работающую на другом узле. Выполняя это действие, обратите внимание на выходные данные тестового клиента и отметьте, что счетчик продолжает увеличиваться, несмотря на переключение на резервный канал.
Добавление дополнительных служб в существующее приложение
Чтобы добавить службу в приложение, созданное с использованием yo
, сделайте следующее:
- Перейдите в корневой каталог существующего приложения. Например,
cd ~/YeomanSamples/MyApplication
, еслиMyApplication
является приложением, созданным с помощью Yeoman. - Выполнить
yo azuresfcsharp:AddService