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 door Service Fabric behandeld als staatloze 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 bestand van een gast in een Service Fabric-cluster kunt verpakken en implementeren 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 niet-vertrouwde toepassingen te hosten, raadpleegt u Niet-vertrouwde toepassingen hosten in een Service Fabric-cluster.

Voordelen van het uitvoeren van een uitvoerbaar bestand voor gasten in Service Fabric

Het uitvoeren van een uitvoerbaar gastbestand in een Service Fabric-cluster heeft verschillende voordelen:

  • Hoge beschikbaarheid. Toepassingen die worden uitgevoerd in Service Fabric worden maximaal beschikbaar gesteld. Service Fabric zorgt ervoor dat exemplaren van een toepassing worden uitgevoerd.
  • Statuscontrole. Service Fabric-statuscontrole detecteert of een toepassing wordt uitgevoerd en biedt diagnostische informatie als er een fout optreedt.
  • Levenscyclusbeheer van toepassingen. Service Fabric biedt niet alleen upgrades zonder downtime, maar biedt ook 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.
  • Vindbaarheid: met BEHULP van REST kunt u de Service Fabric-naamgevingsservice aanroepen om andere services in het cluster te zoeken.

Voorbeelden

Overzicht van toepassings- en servicemanifestbestanden

Als onderdeel van het implementeren van een uitvoerbaar bestand voor gasten 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 toepassings- 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 SDKs\Service Fabric\schemas\ServiceFabricServiceModel.xsd.

  • Toepassingsmanifest Het toepassingsmanifest wordt gebruikt om de toepassing te beschrijven. Het bevat de services waaruit de service bestaat 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 eenheid voor implementatie en upgrade. Een toepassing kan worden bijgewerkt als één eenheid waar 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 achterlaat.

  • Servicemanifest Het servicemanifest beschrijft de onderdelen van een service. Het bevat gegevens, zoals de naam en het type service, en de 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 waarmee de toepassing wordt gedefinieerd. 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, de volgende:

  • Code. Deze map bevat de servicecode.
  • Configuratie. Deze map bevat een Settings.xml-bestand (en indien nodig andere bestanden) 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 een failover).

Notitie

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

Volgende stappen

Zie de volgende artikelen voor gerelateerde informatie en taken.