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ästprogram.
Körbara gästprogram 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 paketar och distribuerar en körbar gäst till ett Service Fabric-kluster med hjälp av Visual Studio eller ett kommandoradsverktyg.
Kommentar
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 program som inte är betrodda 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 är mycket tillgängliga. Service Fabric ser till 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.
- Programlivscykelhantering. Förutom att tillhandahålla uppgraderingar utan avbrott ger Service Fabric automatisk återställning till den tidigare versionen om det finns en dålig hälsohändelse som rapporteras under en uppgradering.
- Täthet. Du kan köra flera program i ett kluster, vilket eliminerar behovet för varje program att köras på egen maskinvara.
- Identifiering: Med REST kan du anropa Service Fabric-namngivningstjänsten för att hitta andra tjänster i klustret.
Exempel
- Exempel för paketering och distribution av en körbar gäst
- Exempel på två körbara gästfiler (C# och nodejs) som kommunicerar via namngivningstjänsten med hjälp av REST
Ö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 också 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 bör 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 den ApplicationManifest.xml fil 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 en ytterligare 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).
Kommentar
Du behöver inte skapa katalogerna config
och data
om du inte behöver dem.
Nästa steg
Se följande artiklar för relaterad information och uppgifter.
- Distribuera en körbar gäst
- Distribuera flera körbara gäster
- Skapa ditt första körbara gästprogram med Visual Studio
- Exempel för att paketera och distribuera en körbar gäst, inklusive en länk till förhandsversion av paketeringsverktyget
- Exempel på två körbara gästfiler (C# och nodejs) som kommunicerar via namngivningstjänsten med hjälp av REST