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

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

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

Примечание.

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

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

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

  • обеспечение высокой доступности; Каждый набор масштабирования помещает свои виртуальные машины в группу доступности с 5 доменами сбоя (FD) и 5 доменами обновления (UD) для обеспечения доступности (дополнительные сведения о доменах сбоя и обновления см. Приложения, работающие в среде Service Fabric, отличаются высоким уровнем доступности. Service Fabric обеспечивает выполнение экземпляров приложения.
  • Наблюдение за работоспособностью. Service Fabric наблюдает за работоспособностью приложений и в случае сбоя предоставляет диагностические данные.
  • Управление жизненным циклом приложений. Service Fabric не только обновляет приложения без ущерба для работы пользователей, но и автоматически откатывает приложение к предыдущей версии, если во время обновления возникло событие ухудшения работоспособности.
  • Плотность. В одном кластере могут работать несколько приложений, что позволяет отказаться от использования отдельного оборудования для каждого приложения.
  • Возможность обнаружения: с помощью REST можно вызвать службу именования Service Fabric для поиска других служб в кластере.

Примеры

Обзор файлов манифестов приложений и служб

При развертывании гостевого исполняемого файла рекомендуем ознакомиться с моделью развертывания и упаковки Service Fabric, которая описана в этой статье. Модель упаковки Service Fabric основана на двух XML-файлах — манифестах приложения и службы. Определение схемы для файла ApplicationManifest.xml и ServiceManifest.xml устанавливается с пакетом SDK в расположении C:\Program Files\Microsoft SDKs\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 и, как правило, следующие каталоги:

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

Примечание.

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

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

В приведенных ниже статьях описаны связанные сведения и задачи.