Service Fabric-programscenarier

Azure Service Fabric erbjuder en tillförlitlig och flexibel plattform där du kan skriva och köra många typer av affärsprogram och tjänster. Dessa program och mikrotjänster kan vara tillståndslösa eller tillståndskänsliga och de är resursbalanserade mellan virtuella datorer för att maximera effektiviteten.

Med den unika arkitekturen i Service Fabric kan du utföra dataanalys i nära realtid, minnesintern beräkning, parallella transaktioner och händelsebearbetning i dina program. Du kan enkelt skala in eller ut dina program beroende på dina ändrade resurskrav.

Designvägledning för att skapa program finns i Mikrotjänstarkitektur i Azure Service Fabric och Metodtips för programdesign med Hjälp av Service Fabric.

Överväg att använda Service Fabric-plattformen för följande typer av program:

  • Datainsamling, bearbetning och IoT: Service Fabric hanterar stor skala och har låg svarstid genom sina tillståndskänsliga tjänster. Det kan hjälpa dig att bearbeta data på miljontals enheter där data för enheten och beräkningen samlokaliserar.

    Kunder som har byggt IoT-tjänster med hjälp av Service Fabric är PCL Construction, Citrix, ASOS, Oman Data Park, Kohler och Dover Fueling Systems.

  • Spel- och sessionsbaserade interaktiva program: Service Fabric är användbart om ditt program kräver läsningar och skrivningar med låg fördröjning, till exempel i onlinespel eller snabbmeddelanden. Med Service Fabric kan du skapa dessa interaktiva, tillståndskänsliga program utan att behöva skapa ett separat arkiv eller cacheminne. Gå till Azures spellösningar för att få designvägledning om hur du använder Service Fabric i speltjänster.

    Kunder som har byggt speltjänster inkluderar Next Games. Kunder som har skapat interaktiva sessioner är Honeywell med Hololens.

  • Dataanalys och arbetsflödesbearbetning: Program som på ett tillförlitligt sätt måste bearbeta händelser eller dataströmmar drar nytta av optimerade läsningar och skrivningar i Service Fabric. Service Fabric stöder även pipelines för programbearbetning, där resultaten måste vara tillförlitliga och skickas vidare till nästa bearbetningssteg utan förlust. Dessa pipelines omfattar transaktionella och finansiella system, där datakonsekvens och beräkningsgarantier är viktiga.

    Kunder som har skapat arbetsflödestjänster för företag är Zeiss Group och PCL Construction.

  • Databeräkning: Med Service Fabric kan du skapa tillståndskänsliga program som utför intensiv databeräkning. Service Fabric tillåter samlokalisering av bearbetning (beräkning) och data i program.

    Normalt när ditt program kräver åtkomst till data begränsar nätverksfördröjningen som är associerad med en extern datacache eller lagringsnivå beräkningstiden. Tillståndskänsliga Service Fabric-tjänster eliminerar den svarstiden, vilket möjliggör mer optimerade läsningar och skrivningar.

    Tänk dig till exempel ett program som utför rekommendationsval i nära realtid för kunder, med ett tidskrav på mindre än 100 millisekunder. Svarstids- och prestandaegenskaperna för Service Fabric-tjänster ger användaren en dynamisk upplevelse jämfört med standardimplementeringsmodellen för att behöva hämta nödvändiga data från fjärrlagring. Systemet är mer dynamiskt eftersom beräkningen av rekommendationsval är samlokaliserad med data och regler.

    Kunder som har skapat beräkningstjänster är ASOS och CCC.

  • Tjänster med hög tillgänglighet: Service Fabric tillhandahåller snabb redundans genom att skapa flera sekundära tjänstrepliker. Om en nod, process eller enskild tjänst går ned på grund av maskinvara eller andra fel, befordras en av de sekundära replikerna till en primär replik med minimal tjänstförlust.

  • Skalbara tjänster: Enskilda tjänster kan partitioneras, vilket gör att tillstånd kan skalas ut i klustret. Enskilda tjänster kan också skapas och tas bort i farten. Du kan skala ut tjänster från några få instanser på några noder till tusentals instanser på många noder och sedan skala in dem igen efter behov. Du kan använda Service Fabric för att skapa dessa tjänster och hantera deras hela livscykel.

Fallstudier för programdesign

Fallstudier som visar hur Service Fabric används för att utforma program publiceras på Kundberättelser och Mikrotjänster på Azure-webbplatser .

Utforma program som består av tillståndslösa och tillståndskänsliga mikrotjänster

Att skapa program med Azure Cloud Services-arbetsroller är ett exempel på en tillståndslös tjänst. Tillståndskänsliga mikrotjänster behåller däremot sitt auktoritativa tillstånd utöver begäran och dess svar. Den här funktionen ger hög tillgänglighet och konsekvens i tillståndet via enkla API:er som ger transaktionsgarantier som backas upp av replikering.

Tillståndskänsliga tjänster i Service Fabric ger hög tillgänglighet till alla typer av program, inte bara databaser och andra datalager. Detta är en naturlig utveckling. Program har redan gått från att använda enbart relationsdatabaser för hög tillgänglighet till NoSQL-databaser. Nu kan själva programmen ha sitt "frekventa" tillstånd och sina data hanterade i dem för ytterligare prestandavinster utan att offra tillförlitlighet, konsekvens eller tillgänglighet.

När du skapar program som består av mikrotjänster har du vanligtvis en kombination av tillståndslösa webbappar (som ASP.NET och Node.js) som anropar tillståndslösa och tillståndskänsliga tjänster på mellannivå. Alla appar och tjänster distribueras i samma Service Fabric-kluster via Service Fabric-distributionskommandona. Var och en av dessa tjänster är oberoende när det gäller skalning, tillförlitlighet och resursanvändning. Detta oberoende förbättrar flexibiliteten och flexibiliteten i utveckling och livscykelhantering.

Tillståndskänsliga mikrotjänster förenklar programdesignen eftersom de tar bort behovet av ytterligare köer och cacheminnen som traditionellt har krävts för att hantera tillgänglighets- och svarstidskraven för rent tillståndslösa program. Eftersom tillståndskänsliga tjänster har hög tillgänglighet och låg svarstid finns det färre detaljer att hantera i ditt program.

Följande diagram illustrerar skillnaderna mellan att utforma ett program som är tillståndslöst och ett som är tillståndskänsligt. Genom att dra nytta av programmeringsmodellerna Reliable Services och Reliable Actors minskar tillståndskänsliga tjänster programkomplexiteten och uppnår högt dataflöde och låg svarstid.

Här är ett exempelprogram som använder tillståndslösa tjänster: Application that uses stateless services

Här är ett exempelprogram som använder tillståndskänsliga tjänster: Application that uses stateful services

Nästa steg