Modellera ett program i Service Fabric

Den här artikeln innehåller en översikt över Azure Service Fabric-programmodellen och hur du definierar ett program och en tjänst via manifestfiler.

Förstå programmodellen

Ett program är en samling komponenttjänster som utför en viss funktion eller funktion. En tjänst utför en fullständig och fristående funktion och kan starta och köra oberoende av andra tjänster. En tjänst består av kod, konfiguration och data. För varje tjänst består koden av de körbara binärfilerna, konfigurationen består av tjänstinställningar som kan läsas in vid körning och data består av godtyckliga statiska data som ska användas av tjänsten. Varje komponent i den här hierarkiska programmodellen kan versionshanteras och uppgraderas oberoende av varandra.

Service Fabric-programmodellen

En programtyp är en kategorisering av ett program och består av ett paket med tjänsttyper. En tjänsttyp är en kategorisering av en tjänst. Kategoriseringen kan ha olika inställningar och konfigurationer, men kärnfunktionerna förblir desamma. Instanserna av en tjänst är de olika tjänstkonfigurationsvariationerna av samma tjänsttyp.

Klasser (eller "typer") av program och tjänster beskrivs via XML-filer (programmanifest och tjänstmanifest). Manifesten beskriver program och tjänster och är de mallar mot vilka program kan instansieras från klustrets avbildningsarkiv. Manifest beskrivs i detalj i program- och tjänstmanifest. Schemadefinitionen för filen ServiceManifest.xml och ApplicationManifest.xml installeras med Service Fabric SDK och verktyg till C:\Program Files\Microsoft SDKs\Service Fabric\schemas\ServiceFabricServiceModel.xsd. XML-schemat dokumenteras i schemadokumentationen för ServiceFabricServiceModel.xsd.

Koden för olika programinstanser körs som separata processer även om den hanteras av samma Service Fabric-nod. Dessutom kan livscykeln för varje programinstans hanteras (till exempel uppgraderas) oberoende av varandra. Följande diagram visar hur programtyper består av tjänsttyper, som i sin tur består av kod, konfiguration och datapaket. För att förenkla diagrammet visas endast kod-/konfigurations-/datapaketen för ServiceType4 , även om varje tjänsttyp skulle innehålla vissa eller alla dessa pakettyper.

Service Fabric-programtyper och tjänsttyper

Det kan finnas en eller flera instanser av en tjänsttyp som är aktiva i klustret. Tillståndskänsliga tjänstinstanser eller repliker ger till exempel hög tillförlitlighet genom att replikera tillstånd mellan repliker som finns på olika noder i klustret. Replikering ger i princip redundans för att tjänsten ska vara tillgänglig även om en nod i ett kluster misslyckas. En partitionerad tjänst delar vidare dess tillstånd (och åtkomstmönster till det tillståndet) mellan noder i klustret.

Följande diagram visar relationen mellan program och tjänstinstanser, partitioner och repliker.

Partitioner och repliker i en tjänst

Tips

Du kan visa layouten för program i ett kluster med hjälp av Service Fabric Explorer verktyget som finns på http://< yourclusteraddress>:19080/Explorer. Mer information finns i Visualisera klustret med Service Fabric Explorer.

Nästa steg