Bereitstellen einer vorhandenen ausführbaren Datei für Service FabricDeploy an existing executable to Service Fabric

Sie können jede Art von Code, z.B. Node.js, Java oder C++, in Azure Service Fabric als Dienst ausführen.You can run any type of code, such as Node.js, Java, or C++ in Azure Service Fabric as a service. In Service Fabric sind derartige Dienste ausführbare Gastdateien.Service Fabric refers to these types of services as guest executables.

Ausführbare Gastanwendungsdateien werden von Service Fabric wie zustandslose Dienste behandelt.Guest executables are treated by Service Fabric like stateless services. Folglich werden sie basierend auf der Verfügbarkeit und anderen Metriken auf Knoten innerhalb eines Clusters platziert.As a result, they are placed on nodes in a cluster, based on availability and other metrics. In diesem Artikel wird beschrieben, wie Sie eine ausführbare Gastanwendungsdatei packen und in einem Service Fabric-Cluster bereitstellen, indem Sie Visual Studio oder ein Befehlszeilenprogramm verwenden.This article describes how to package and deploy a guest executable to a Service Fabric cluster, by using Visual Studio or a command-line utility.

Vorteile der Ausführung einer ausführbaren Gastanwendungsdatei in Service FabricBenefits of running a guest executable in Service Fabric

Das Ausführen einer ausführbaren Gastanwendungsdatei in einem Service Fabric-Cluster bietet mehrere Vorteile:There are several advantages to running a guest executable in a Service Fabric cluster:

  • Hochverfügbarkeit.High availability. Anwendungen, die in Service Fabric ausgeführt werden, weisen eine hohe Verfügbarkeit auf.Applications that run in Service Fabric are made highly available. In Service Fabric wird sichergestellt, dass die Instanzen einer Anwendung ausgeführt werden.Service Fabric ensures that instances of an application are running.
  • Systemüberwachung.Health monitoring. Die Service Fabric-Systemüberwachung erkennt, ob eine Anwendung ausgeführt wird, und stellt bei Fehlern Diagnoseinformationen bereit.Service Fabric health monitoring detects if an application is running, and provides diagnostic information if there is a failure.
  • Application Lifecycle Management.Application lifecycle management. Zusätzlich zur Bereitstellung von Upgrades ohne Ausfallzeiten ermöglicht Service Fabric das automatische Zurücksetzen auf die vorherige Version (Rollback), wenn während eines Upgrades ein Fehler in Bezug auf die Integrität gemeldet wird.Besides providing upgrades with no downtime, Service Fabric provides automatic rollback to the previous version if there is a bad health event reported during an upgrade.
  • Dichte.Density. Sie können mehrere Anwendungen in einem Cluster ausführen, sodass nicht mehr jede Anwendung auf eigener Hardware ausgeführt werden muss.You can run multiple applications in a cluster, which eliminates the need for each application to run on its own hardware.
  • Auffindbarkeit: Mithilfe von REST können Sie den Service Fabric Naming Service aufrufen, um nach anderen Diensten im Cluster zu suchen.Discoverability: Using REST you can call the Service Fabric Naming service to find other services in the cluster.

BeispieleSamples

Übersicht über die Anwendungs- und DienstmanifestdateienOverview of application and service manifest files

Im Rahmen der Bereitstellung einer ausführbaren Gastanwendungsdatei sollten Sie das Service Fabric-Modell für das Packen und Bereitstellen von Anwendungen kennen. Eine Beschreibung finden Sie unter Anwendungsmodell.As part of deploying a guest executable, it is useful to understand the Service Fabric packaging and deployment model as described in application model. Das Packmodell von Service Fabric basiert auf zwei XML-Dateien: dem Anwendungs- und dem Dienstmanifest.The Service Fabric packaging model relies on two XML files: the application and service manifests. Die Schemadefinition für die Dateien „ApplicationManifest.xml“ und „ServiceManifest.xml“ wird mit dem Service Fabric SDK unter C:\Programme\Microsoft SDKs\Service Fabric\schemas\ServiceFabricServiceModel.xsd installiert.The schema definition for the ApplicationManifest.xml and ServiceManifest.xml files is installed with the Service Fabric SDK into C:\Program Files\Microsoft SDKs\Service Fabric\schemas\ServiceFabricServiceModel.xsd.

  • Anwendungsmanifest: Das Anwendungsmanifest wird verwendet, um die Anwendung zu beschreiben.Application manifest The application manifest is used to describe the application. Es listet neben den Diensten, aus denen die Anwendung besteht, noch weitere Parameter auf, mit denen definiert wird, wie Dienste bereitgestellt werden sollen, z.B. die Anzahl von Instanzen.It lists the services that compose it, and other parameters that are used to define how one or more services should be deployed, such as the number of instances.

    Unter Service Fabric ist eine Anwendung eine Bereitstellungs- und Upgradeeinheit.In Service Fabric, an application is a unit of deployment and upgrade. Eine Anwendung kann als eine Einheit aktualisiert werden, wobei potenzielle Fehler und mögliche Zurücksetzungen verwaltet werden.An application can be upgraded as a single unit where potential failures and potential rollbacks are managed. Mit Service Fabric wird sichergestellt, dass der Upgradeprozess entweder erfolgreich ist oder – falls beim Upgrade ein Fehler auftritt – die Anwendung nicht in einem unbekannten oder instabilen Zustand verbleibt.Service Fabric guarantees that the upgrade process is either successful, or, if the upgrade fails, does not leave the application in an unknown or unstable state.

  • Dienstmanifest: Das Dienstmanifest beschreibt die Komponenten eines Diensts.Service manifest The service manifest describes the components of a service. Es enthält Daten, z.B. den Namen und Typ des Diensts, und den Code sowie die Konfiguration.It includes data, such as the name and type of service, and its code and configuration. Das Dienstmanifest enthält auch einige zusätzliche Parameter, die verwendet werden können, um den Dienst zu konfigurieren, nachdem er bereitgestellt wurde.The service manifest also includes some additional parameters that can be used to configure the service once it is deployed.

Dateistruktur des AnwendungspaketsApplication package file structure

Damit eine Anwendung in Service Fabric bereitgestellt werden kann, sollte die Anwendung einer vordefinierten Verzeichnisstruktur folgen.To deploy an application to Service Fabric, the application should follow a predefined directory structure. Unten ist ein Beispiel für diese Struktur angegeben.The following is an example of that structure.

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

ApplicationPackageRoot enthält die Datei „ApplicationManifest.xml“, mit der die Anwendung definiert wird.The ApplicationPackageRoot contains the ApplicationManifest.xml file that defines the application. Für jeden Dienst, der in der Anwendung enthalten ist, gibt es ein Unterverzeichnis, das alle für den Dienst erforderlichen Artefakte enthält.A subdirectory for each service included in the application is used to contain all the artifacts that the service requires. Diese Unterverzeichnisse umfassen „Servicemanifest.xml“ und normalerweise Folgendes:These subdirectories are the ServiceManifest.xml and, typically, the following:

  • Code.Code. Dieses Verzeichnis enthält den Code des Diensts.This directory contains the service code.
  • Config. Dieses Verzeichnis enthält die Datei „Settings.xml“ (sowie andere Dateien, falls erforderlich), auf die der Dienst zur Laufzeit zugreifen kann, um bestimmte Konfigurationseinstellungen abzurufen.Config. This directory contains a Settings.xml file (and other files if necessary) that the service can access at runtime to retrieve specific configuration settings.
  • Daten.Data. Dies ist ein zusätzliches Verzeichnis zum Speichern zusätzlicher lokaler Daten, die der Dienst möglicherweise benötigt.This is an additional directory to store additional local data that the service may need. Das Verzeichnis „data“ sollte nur verwendet werden, um kurzlebige Daten zu speichern.Data should be used to store only ephemeral data. Service Fabric kopiert oder repliziert keine Änderungen in das Verzeichnis „data“, wenn der Dienst (beispielsweise bei einem Failover) verschoben werden muss.Service Fabric does not copy or replicate changes to the data directory if the service needs to be relocated (for example, during failover).

Hinweis

Sie müssen die Verzeichnisse config und data nur erstellen, wenn Sie sie benötigen.You don't have to create the config and data directories if you don't need them.

Nächste SchritteNext steps

Entsprechende Informationen und Aufgaben finden Sie in den folgenden Artikeln.See the following articles for related information and tasks.