Delen via


Een bestaand uitvoerbaar bestand implementeren in Service Fabric

U kunt elk type code uitvoeren, zoals Node.js, Java of C++ in Azure Service Fabric als een service. Service Fabric verwijst naar deze typen services als uitvoerbare gastbestanden.

Uitvoerbare gastbestanden worden behandeld door Service Fabric, zoals stateless services. Als gevolg hiervan worden ze op knooppunten in een cluster geplaatst, op basis van beschikbaarheid en andere metrische gegevens. In dit artikel wordt beschreven hoe u een uitvoerbaar gastbestand in een Service Fabric-cluster inpakt en implementeert met behulp van Visual Studio of een opdrachtregelprogramma.

Notitie

Een Service Fabric-cluster is standaard één tenant en gehoste toepassingen worden beschouwd als vertrouwd. Als u overweegt om niet-vertrouwde toepassingen te hosten, raadpleegt u Niet-vertrouwde toepassingen hosten in een Service Fabric-cluster.

Voordelen van het uitvoeren van een uitvoerbaar gastbestand in Service Fabric

Er zijn verschillende voordelen voor het uitvoeren van een uitvoerbaar gastbestand in een Service Fabric-cluster:

  • Hoge beschikbaarheid. Toepassingen die worden uitgevoerd in Service Fabric, worden maximaal beschikbaar gemaakt. Service Fabric zorgt ervoor dat exemplaren van een toepassing worden uitgevoerd.
  • Statuscontrole. Service Fabric-statuscontrole detecteert of een toepassing wordt uitgevoerd en geeft diagnostische informatie als er een fout optreedt.
  • Beheer van de levenscyclus van toepassingen. Naast het bieden van upgrades zonder uitvaltijd, biedt Service Fabric automatisch terugdraaien naar de vorige versie als er een slechte statusgebeurtenis is gerapporteerd tijdens een upgrade.
  • Dichtheid. U kunt meerdere toepassingen in een cluster uitvoeren, waardoor elke toepassing niet meer op eigen hardware hoeft te worden uitgevoerd.
  • Detectie: Met REST kunt u de Service Fabric-naamgevingsservice aanroepen om andere services in het cluster te vinden.

Voorbeelden

Overzicht van toepassings- en servicemanifestbestanden

Als onderdeel van het implementeren van een uitvoerbaar gastbestand is het handig om inzicht te krijgen in het Service Fabric-pakket- en implementatiemodel, zoals beschreven in het toepassingsmodel. Het Service Fabric-pakketmodel is afhankelijk van twee XML-bestanden: de toepassing en servicemanifesten. De schemadefinitie voor de ApplicationManifest.xml- en ServiceManifest.xml-bestanden wordt geïnstalleerd met de Service Fabric SDK in C:\Program Files\Microsoft SDK's\Service Fabric\schemas\ServiceFabricServiceModel.xsd.

  • Toepassingsmanifest Het toepassingsmanifest wordt gebruikt om de toepassing te beschrijven. Het bevat de services die deze samenstellen en andere parameters die worden gebruikt om te definiëren hoe een of meer services moeten worden geïmplementeerd, zoals het aantal exemplaren.

    In Service Fabric is een toepassing een implementatie- en upgrade-eenheid. Een toepassing kan worden bijgewerkt als één eenheid waarbij potentiële fouten en mogelijke terugdraaiacties worden beheerd. Service Fabric garandeert dat het upgradeproces is geslaagd of, als de upgrade mislukt, de toepassing niet in een onbekende of instabiele status laat.

  • Servicemanifest Het servicemanifest beschrijft de onderdelen van een service. Het bevat gegevens, zoals de naam en het type service, en de bijbehorende code en configuratie. Het servicemanifest bevat ook enkele aanvullende parameters die kunnen worden gebruikt om de service te configureren zodra deze is geïmplementeerd.

Bestandsstructuur van toepassingspakket

Als u een toepassing wilt implementeren in Service Fabric, moet de toepassing een vooraf gedefinieerde mapstructuur volgen. Hier volgt een voorbeeld van die structuur.

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

ApplicationPackageRoot bevat het ApplicationManifest.xml-bestand dat de toepassing definieert. Een submap voor elke service die in de toepassing is opgenomen, wordt gebruikt om alle artefacten te bevatten die de service nodig heeft. Deze submappen zijn de ServiceManifest.xml en meestal het volgende:

  • Code. Deze map bevat de servicecode.
  • Configuratie. Deze map bevat een Settings.xml bestand (en andere bestanden indien nodig) waartoe de service tijdens runtime toegang heeft om specifieke configuratie-instellingen op te halen.
  • Gegevens. Dit is een extra map voor het opslaan van aanvullende lokale gegevens die de service mogelijk nodig heeft. Gegevens moeten worden gebruikt om alleen tijdelijke gegevens op te slaan. Service Fabric kopieert of repliceert geen wijzigingen in de gegevensmap als de service moet worden verplaatst (bijvoorbeeld tijdens failover).

Notitie

U hoeft de config mappen data en mappen niet te maken als u ze niet nodig hebt.

Volgende stappen

Zie de volgende artikelen voor gerelateerde informatie en taken.