Service Fabric-toepassingsscenario's
Azure Service Fabric biedt een betrouwbaar en flexibel platform waar u veel soorten zakelijke toepassingen en services kunt schrijven en uitvoeren. Deze toepassingen en microservices kunnen staatloos of stateful zijn en ze zijn verdeeld over virtuele machines om de efficiëntie te maximaliseren.
Met de unieke architectuur van Service Fabric kunt u bijna realtime gegevensanalyse, in-memory berekeningen, parallelle transacties en gebeurtenisverwerking in uw toepassingen uitvoeren. U kunt uw toepassingen eenvoudig in- of uitschalen, afhankelijk van uw veranderende resourcevereisten.
Lees voor ontwerprichtlijnen voor het bouwen van toepassingen microservicesarchitectuur in Azure Service Fabric en aanbevolen procedures voor toepassingsontwerp met behulp van Service Fabric.
Overweeg het Service Fabric-platform te gebruiken voor de volgende typen toepassingen:
Gegevens verzamelen, verwerken en IoT: Service Fabric verwerkt grootschalige en heeft een lage latentie via de stateful services. Het kan helpen bij het verwerken van gegevens op miljoenen apparaten waar de gegevens voor het apparaat en de berekening op een punt staan.
Klanten die IoT-services hebben gebouwd met behulp van Service Fabric, omvatten PCL Construction, Citrix, ASOS, Oman Data Park, Kohler en Dover Fueling Systems.
Interactieve toepassingen op basis van games en sessies: Service Fabric is handig als uw toepassing lees- en schrijfbewerkingen met lage latentie vereist, zoals in online gaming of chatberichten. Met Service Fabric kunt u deze interactieve, stateful toepassingen bouwen zonder dat u een afzonderlijke opslag of cache hoeft te maken. Ga naar Azure-gamingoplossingen voor ontwerprichtlijnen voor het gebruik van Service Fabric in gamingservices.
Klanten die gamingservices hebben gebouwd, omvatten Next Games. Klanten die interactieve sessies hebben gebouwd, zijn Onder andere Honeywell met Hololens.
Gegevensanalyse en werkstroomverwerking: toepassingen die gebeurtenissen of gegevensstromen betrouwbaar moeten verwerken, profiteren van de geoptimaliseerde lees- en schrijfbewerkingen in Service Fabric. Service Fabric ondersteunt ook pijplijnen voor toepassingsverwerking, waarbij resultaten betrouwbaar moeten zijn en zonder verlies moeten worden doorgegeven aan de volgende verwerkingsfase. Deze pijplijnen omvatten transactionele en financiële systemen, waarbij gegevensconsistentie en rekengaranties essentieel zijn.
Klanten die zakelijke werkstroomservices hebben gebouwd, zijn Zeiss Group en PCL Construction.
Berekening van gegevens: Met Service Fabric kunt u stateful toepassingen bouwen die intensieve gegevensberekeningen uitvoeren. Service Fabric staat de colocatie van verwerking (berekening) en gegevens in toepassingen toe.
Normaal gesproken beperkt de rekentijd wanneer uw toepassing toegang tot gegevens vereist, netwerklatentie die is gekoppeld aan een externe gegevenscache of opslaglaag. Stateful Service Fabric-services elimineren die latentie, waardoor meer geoptimaliseerde lees- en schrijfbewerkingen mogelijk zijn.
Denk bijvoorbeeld aan een toepassing die bijna realtime aanbevelingsselecties uitvoert voor klanten, met een retourtijdvereiste van minder dan 100 milliseconden. De latentie- en prestatiekenmerken van Service Fabric-services bieden een responsieve ervaring voor de gebruiker, vergeleken met het standaard implementatiemodel van het ophalen van de benodigde gegevens uit externe opslag. Het systeem reageert sneller omdat de berekening van de aanbevelingsselectie wordt gekoppeld aan de gegevens en regels.
Klanten die rekenservices hebben gebouwd, zijn ASOS en CCC.
Maximaal beschikbare services: Service Fabric biedt snelle failover door meerdere secundaire servicereplica's te maken. Als een knooppunt, proces of afzonderlijke service uitvalt vanwege hardware of andere fouten, wordt een van de secundaire replica's gepromoveerd naar een primaire replica met minimale serviceverlies.
Schaalbare services: afzonderlijke services kunnen worden gepartitioneerd, zodat de status kan worden uitgeschaald in het cluster. Afzonderlijke services kunnen ook snel worden gemaakt en verwijderd. U kunt services uitschalen van een paar exemplaren op een paar knooppunten naar duizenden exemplaren op veel knooppunten en ze vervolgens zo nodig weer inschalen. U kunt Service Fabric gebruiken om deze services te bouwen en hun volledige levenscyclus te beheren.
Casestudy's voor toepassingsontwerp
Casestudy's die laten zien hoe Service Fabric wordt gebruikt om toepassingen te ontwerpen, worden gepubliceerd op de klantverhalen en microservices op Azure-sites .
Toepassingen ontwerpen die bestaan uit staatloze en stateful microservices
Het bouwen van toepassingen met Azure Cloud Services-werkrollen is een voorbeeld van een staatloze service. Stateful microservices behouden daarentegen hun gezaghebbende status buiten de aanvraag en het bijbehorende antwoord. Deze functionaliteit biedt hoge beschikbaarheid en consistentie van de status via eenvoudige API's die transactionele garanties bieden die worden ondersteund door replicatie.
Stateful services in Service Fabric zorgen voor hoge beschikbaarheid voor alle soorten toepassingen, niet alleen databases en andere gegevensarchieven. Dit is een natuurlijke vooruitgang. Toepassingen zijn al verplaatst van het gebruik van uitsluitend relationele databases voor hoge beschikbaarheid naar NoSQL-databases. Nu kunnen de toepassingen zelf hun 'dynamische' status en gegevens erin beheren voor extra prestatieverbeteringen zonder dat dit ten koste gaat van de betrouwbaarheid, consistentie of beschikbaarheid.
Wanneer u toepassingen bouwt die bestaan uit microservices, hebt u meestal een combinatie van stateless web-apps (zoals ASP.NET en Node.js) die worden aangeroepen voor stateless en stateful zakelijke middelste laagservices. De apps en services worden allemaal geïmplementeerd in hetzelfde Service Fabric-cluster via de Service Fabric-implementatieopdrachten. Elk van deze services is onafhankelijk van schaal, betrouwbaarheid en resourcegebruik. Deze onafhankelijkheid verbetert de flexibiliteit en flexibiliteit in ontwikkeling en levenscyclusbeheer.
Stateful microservices vereenvoudigen toepassingsontwerpen omdat ze de noodzaak voor de extra wachtrijen en caches verwijderen die traditioneel zijn vereist om te voldoen aan de beschikbaarheids- en latentievereisten van puur staatloze toepassingen. Omdat stateful services hoge beschikbaarheid en lage latentie hebben, zijn er minder details om te beheren in uw toepassing.
In de volgende diagrammen ziet u de verschillen tussen het ontwerpen van een toepassing die staatloos is en een toepassing die stateful is. Door gebruik te maken van de Reliable Services - en Reliable Actors-programmeermodellen , verminderen stateful services de complexiteit van toepassingen terwijl hoge doorvoer en lage latentie worden bereikt.
Hier volgt een voorbeeldtoepassing die gebruikmaakt van stateless services:
Hier volgt een voorbeeldtoepassing die gebruikmaakt van stateful services:
Volgende stappen
Luister naar casestudy's van klanten
Ga aan de slag met het bouwen van stateless en stateful services met de Programmeermodellen Service Fabric Reliable Services en Reliable Actors .
Ga naar het Azure Architecture Center voor hulp bij het bouwen van microservices in Azure.
Ga naar best practices voor Azure Service Fabric-toepassingen en -clusters voor het ontwerpen van toepassingen.
Zie ook: