Distribuera en befintlig körbar fil till Service Fabric

Du kan köra valfri typ av kod, till exempel Node.js, Java eller C++ i Azure Service Fabric som en tjänst. Service Fabric refererar till dessa typer av tjänster som körbara gästdatorer.

Körbara gästdatorer behandlas av Service Fabric som tillståndslösa tjänster. Därför placeras de på noder i ett kluster baserat på tillgänglighet och andra mått. Den här artikeln beskriver hur du paketeras och distribuerar en körbar gäst till ett Service Fabric-kluster med hjälp av Visual Studio eller ett kommandoradsverktyg.

Anteckning

Ett Service Fabric-kluster är en enskild klientorganisation och värdbaserade program anses vara betrodda. Om du överväger att vara värd för ej betrodda program kan du läsa Värd för ej betrodda program i ett Service Fabric-kluster.

Fördelar med att köra en körbar gäst i Service Fabric

Det finns flera fördelar med att köra en körbar gäst i ett Service Fabric-kluster:

  • Hög tillgänglighet. Program som körs i Service Fabric har hög tillgänglighet. Service Fabric säkerställer att instanser av ett program körs.
  • Hälsoövervakning. Service Fabric-hälsoövervakning identifierar om ett program körs och tillhandahåller diagnostikinformation om det uppstår ett fel.
  • Livscykelhantering för program. Förutom att tillhandahålla uppgraderingar utan avbrott ger Service Fabric automatisk återställning till den tidigare versionen om det finns en felaktig hälsohändelse som rapporteras under en uppgradering.
  • Densitet. Du kan köra flera program i ett kluster, vilket eliminerar behovet för varje program att köras på sin egen maskinvara.
  • Identifiering: Med HJÄLP av REST kan du anropa Service Fabric-namngivningstjänsten för att hitta andra tjänster i klustret.

Exempel

Översikt över program- och tjänstmanifestfiler

Som en del av distributionen av en körbar gäst är det användbart att förstå Service Fabric-paketerings- och distributionsmodellen enligt beskrivningen i programmodellen. Service Fabric-paketeringsmodellen förlitar sig på två XML-filer: program- och tjänstmanifesten. Schemadefinitionen för ApplicationManifest.xml- och ServiceManifest.xml-filerna installeras med Service Fabric SDK i C:\Program Files\Microsoft SDKs\Service Fabric\schemas\ServiceFabricServiceModel.xsd.

  • Programmanifest Programmanifestet används för att beskriva programmet. Den visar de tjänster som utgör den och andra parametrar som används för att definiera hur en eller flera tjänster ska distribueras, till exempel antalet instanser.

    I Service Fabric är ett program en distributions- och uppgraderingsenhet. Ett program kan uppgraderas som en enda enhet där potentiella fel och potentiella återställningar hanteras. Service Fabric garanterar att uppgraderingsprocessen antingen lyckas eller, om uppgraderingen misslyckas, inte lämnar programmet i ett okänt eller instabilt tillstånd.

  • Tjänstmanifest Tjänstmanifestet beskriver komponenterna i en tjänst. Den innehåller data, till exempel namn och typ av tjänst, samt dess kod och konfiguration. Tjänstmanifestet innehåller även några ytterligare parametrar som kan användas för att konfigurera tjänsten när den har distribuerats.

Filstruktur för programpaket

Om du vill distribuera ett program till Service Fabric ska programmet följa en fördefinierad katalogstruktur. Följande är ett exempel på den strukturen.

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

ApplicationPackageRoot innehåller ApplicationManifest.xml-filen som definierar programmet. En underkatalog för varje tjänst som ingår i programmet används för att innehålla alla artefakter som tjänsten kräver. Dessa underkataloger är ServiceManifest.xml och vanligtvis följande:

  • Kod. Den här katalogen innehåller tjänstkoden.
  • Konfiguration. Den här katalogen innehåller en Settings.xml fil (och andra filer om det behövs) som tjänsten kan komma åt vid körning för att hämta specifika konfigurationsinställningar.
  • Data. Det här är ytterligare en katalog för att lagra ytterligare lokala data som tjänsten kan behöva. Data ska endast användas för att lagra tillfälliga data. Service Fabric kopierar eller replikerar inte ändringar i datakatalogen om tjänsten behöver flyttas (till exempel under redundansväxling).

Anteckning

Du behöver inte skapa katalogerna config och data om du inte behöver dem.

Nästa steg

I följande artiklar finns relaterad information och uppgifter.