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


Развертывание существующего исполняемого файла в Service Fabric

Вы можете запустить любой тип кода, например Node.js, Java или C++ в Azure Service Fabric в качестве службы. Service Fabric называет такие типы служб "гостевыми исполняемыми модулями".

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

Примечание.

Кластер Service Fabric изначально является одноарендаторским, и размещенные приложения считаются доверенными. Если вы собираетесь размещать недоверенные приложения, воспользуйтесь инструкцией из статьи Размещение ненадежных приложений в кластере Service Fabric.

Преимущества запуска гостевого исполняемого файла в Service Fabric

Существует несколько преимуществ для запуска гостевого исполняемого файла в кластере Service Fabric:

  • Высокий уровень доступности. Приложения, выполняемые в Service Fabric, становятся высокодоступны. Service Fabric гарантирует, что экземпляры приложения работают.
  • Мониторинг здоровья. Мониторинг работоспособности Service Fabric определяет, запущено ли приложение, и предоставляет диагностические сведения, если произошел сбой.
  • Управление жизненным циклом приложений. Помимо предоставления обновлений без простоя, Service Fabric обеспечивает автоматический откат к предыдущей версии, если во время обновления произошло плохое событие работоспособности.
  • Плотность. Вы можете запускать несколько приложений в кластере, что устраняет необходимость запуска каждого приложения на своем оборудовании.
  • Возможность обнаружения. С помощью REST можно вызвать службу именования Service Fabric, чтобы найти другие службы в кластере.

Образцы

Общие сведения о файлах манифеста приложения и службы

В рамках развертывания гостевого исполняемого файла полезно понимать модель упаковки и развертывания Service Fabric, как описано в модели приложения. Модель упаковки Service Fabric использует два XML-файла: манифесты приложения и службы. Определение схемы для ApplicationManifest.xml и ServiceManifest.xml файлов устанавливается с пакетом SDK Service Fabric в C:\Program Files\Microsoft SDK\Service Fabric\schemas\ServiceFabricServiceModel.xsd.

  • Манифест приложения Манифест приложения используется для описания приложения. В нем перечислены службы, составляющие его, и другие параметры, используемые для определения того, как следует развертывать одну или несколько служб, например количество экземпляров.

    В Service Fabric приложение — это единица развертывания и обновления. Приложение можно обновить как единое целое, управляя потенциальными сбоями и откатами. Service Fabric гарантирует, что процесс обновления либо успешно завершится, либо, в случае сбоя, приложение не останется в неизвестном или нестабильном состоянии.

  • Манифест службы Манифест службы описывает компоненты службы. Он включает данные, такие как имя и тип службы, а также его код и конфигурация. Манифест службы также включает некоторые дополнительные параметры, которые можно использовать для настройки службы после его развертывания.

Структура файла пакета приложения

Чтобы развернуть приложение в Service Fabric, приложение должно соответствовать предопределенной структуре каталогов. Ниже приведен пример этой структуры.

|-- ApplicationPackageRoot
    |-- GuestService1Pkg
        |-- Code
            |-- existingapp.exe
        |-- Config
            |-- Settings.xml
        |-- Data
        |-- ServiceManifest.xml
    |-- ApplicationManifest.xml

ApplicationPackageRoot содержит файл ApplicationManifest.xml, определяющий приложение. Подкаталог для каждой службы, включенной в приложение, используется для хранения всех артефактов, необходимых службе. Эти подкаталоги — ServiceManifest.xml и, как правило, следующие:

  • Код. Этот каталог содержит код службы.
  • Конфигурация. Этот каталог содержит файл Settings.xml (и другие файлы при необходимости), к которому служба может получить доступ во время выполнения для получения определенных параметров конфигурации.
  • данных. Это дополнительный каталог для хранения дополнительных локальных данных, которые может потребоваться службе. Данные должны использоваться для хранения только временных данных. Service Fabric не копирует или реплицирует изменения в каталог данных, если служба должна быть перемещена (например, во время отработки отказа).

Примечание.

Вам не нужно создавать config каталоги и data каталоги, если они не нужны.

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

Дополнительные сведения и задачи см. в следующих статьях.