Развертывание существующего исполняемого файла вручную
В 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 для поиска других служб в кластере.
Примеры
- Пример для упаковки и развертывания гостевого исполняемого файла
- Пример двух гостевых исполняемых файлов (C# и Node.js), которые взаимодействуют через службу именования с помощью REST
Обзор файлов манифестов приложений и служб
При развертывании гостевого исполняемого файла рекомендуем ознакомиться с моделью развертывания и упаковки 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
вам не нужны, не создавайте их.
Следующие шаги
В приведенных ниже статьях описаны связанные сведения и задачи.
- Развертывание гостевого исполняемого файла
- Развертывание нескольких пользовательских приложений
- Создание первого приложения в качестве гостевого исполняемого файла с помощью Visual Studio
- Пример для упаковки и развертывания гостевого исполняемого файла, включая ссылку на предварительную версию средства упаковки
- Пример двух гостевых исполняемых файлов (C# и Node.js), которые взаимодействуют через службу именования с помощью REST