Scénáře aplikací Service Fabric

Azure Service Fabric nabízí spolehlivou a flexibilní platformu, kde můžete psát a spouštět mnoho typů obchodních aplikací a služeb. Tyto aplikace a mikroslužby můžou být bezstavové nebo stavové a jsou vyváženy prostředky napříč virtuálními počítači, aby se maximalizovala efektivita.

Jedinečná architektura Service Fabric umožňuje provádět analýzu dat téměř v reálném čase, výpočty v paměti, paralelní transakce a zpracování událostí ve vašich aplikacích. V závislosti na měnících se požadavcích na prostředky můžete snadno škálovat nebo navyšovat kapacitu aplikací.

Pokyny k návrhu při sestavování aplikací najdete v tématu Architektura mikroslužeb v Azure Service Fabric a osvědčené postupy pro návrh aplikací pomocí Service Fabric.

Zvažte použití platformy Service Fabric pro následující typy aplikací:

  • Shromažďování, zpracování a IoT dat: Service Fabric zpracovává velké škálování a má nízkou latenci prostřednictvím stavových služeb. Může pomoct zpracovávat data na milionech zařízení, kde jsou data pro zařízení a výpočet společně přidělena.

    Zákazníci, kteří vytvořili služby IoT pomocí Service Fabric, zahrnují PCL Construction, Citrix, ASOS, Oman Data Park, Kohler a Dover Fueling Systems.

  • Interaktivní aplikace založené na hraní a relacích: Service Fabric je užitečná, pokud vaše aplikace vyžaduje čtení a zápisy s nízkou latencí, jako je online hraní her nebo zasílání rychlých zpráv. Service Fabric umožňuje vytvářet tyto interaktivní stavové aplikace bez nutnosti vytvářet samostatné úložiště nebo mezipaměť. Navštivte herní řešení Azure, kde najdete pokyny k návrhu používání Service Fabric v herních službách.

    Zákazníci, kteří mají vytvořené herní služby, zahrnují Další hry. Zákazníci, kteří vytvořili interaktivní relace, zahrnují Honeywell s Hololensem.

  • Analýza dat a zpracování pracovních postupů: Aplikace, které musí spolehlivě zpracovávat události nebo datové proudy, využívají optimalizované čtení a zápisy v Service Fabric. Service Fabric také podporuje kanály zpracování aplikací, kde výsledky musí být spolehlivé a předávané do další fáze zpracování bez ztráty. Mezi tyto kanály patří transakční a finanční systémy, kde jsou nezbytné záruky konzistence dat a výpočtů.

    Zákazníci, kteří vytvořili služby obchodních pracovních postupů, zahrnují Zeiss Group a PCL Construction.

  • Výpočet dat: Service Fabric umožňuje vytvářet stavové aplikace, které dělají náročné výpočty dat. Service Fabric umožňuje kolokaci zpracování (výpočtu) a dat v aplikacích.

    Obvykle platí, že pokud vaše aplikace vyžaduje přístup k datům, latence sítě přidružená k externí mezipaměti dat nebo úrovni úložiště omezuje dobu výpočtu. Stavové služby Service Fabric eliminují latenci a umožňují optimalizovanější čtení a zápisy.

    Představte si například aplikaci, která provádí výběr doporučení téměř v reálném čase pro zákazníky s požadavkem na dobu odezvy menší než 100 milisekund. Latence a charakteristiky výkonu služeb Service Fabric poskytují uživateli responzivní prostředí v porovnání se standardním modelem implementace, kdy je potřeba načíst potřebná data ze vzdáleného úložiště. Systém reaguje rychleji, protože výpočet výběru doporučení je společně s daty a pravidly.

    Zákazníci, kteří mají vytvořené výpočetní služby, zahrnují ASOS a CCC.

  • Vysoce dostupné služby: Service Fabric poskytuje rychlé převzetí služeb při selhání vytvořením několika sekundárních replik služeb. Pokud dojde k výpadku uzlu, procesu nebo jednotlivých služeb kvůli hardwaru nebo jinému selhání, jedna ze sekundárních replik se zvýší na primární repliku s minimální ztrátou služby.

  • Škálovatelné služby: Jednotlivé služby je možné rozdělit na oddíly, což umožňuje horizontální navýšení kapacity stavu napříč clusterem. Jednotlivé služby je také možné vytvářet a odebírat průběžně. Služby můžete škálovat z několika instancí na několika uzlech na tisíce instancí na mnoha uzlech a podle potřeby je škálovat znovu. Service Fabric můžete použít k vytváření těchto služeb a správě jejich kompletních životních cyklů.

Případové studie návrhu aplikace

Případové studie, které ukazují, jak se Service Fabric používá k návrhu aplikací, se publikují na webech Zákazníků a mikroslužby na webech Azure .

Navrhování aplikací skládajících se z bezstavových a stavových mikroslužeb

Příkladem bezstavové služby je vytváření aplikací pomocí rolí pracovního procesu Azure Cloud Services. Stavové mikroslužby naopak udržují svůj autoritativní stav nad rámec požadavku a jeho odpovědi. Tato funkce poskytuje vysokou dostupnost a konzistenci stavu prostřednictvím jednoduchých rozhraní API, která poskytují transakční záruky zálohované replikací.

Stavové služby v Service Fabric přinášejí vysokou dostupnost všem typům aplikací, nejen databázím a dalším úložištům dat. To je přirozený průběh. Aplikace se už přesunuly z čistě relačních databází pro zajištění vysoké dostupnosti do databází NoSQL. Teď můžou mít aplikace svůj "horký" stav a data v nich spravovaná kvůli dalšímu zvýšení výkonu bez obětování spolehlivosti, konzistence nebo dostupnosti.

Při vytváření aplikací, které se skládají z mikroslužeb, obvykle máte kombinaci bezstavových webových aplikací (například ASP.NET a Node.js) volajících do bezstavových a stavových služeb střední vrstvy. Všechny aplikace a služby se nasazují ve stejném clusteru Service Fabric prostřednictvím příkazů nasazení Service Fabric. Každá z těchto služeb je nezávislá na škálování, spolehlivosti a využití prostředků. Tato nezávislost zlepšuje flexibilitu a flexibilitu při vývoji a správě životního cyklu.

Stavové mikroslužby zjednodušují návrhy aplikací, protože odstraňují potřebu dalších front a mezipamětí, které se tradičně vyžadovaly k řešení požadavků na dostupnost a latenci čistě bezstavových aplikací. Vzhledem k tomu, že stavové služby mají vysokou dostupnost a nízkou latenci, je ve vaší aplikaci méně podrobností.

Následující diagramy znázorňují rozdíly mezi návrhem aplikace, která je bezstavová a která je stavová. Díky využití programovacích modelů Reliable Services a Reliable Actors snižují stavové služby složitost aplikací při dosažení vysoké propustnosti a nízké latence.

Tady je ukázková aplikace, která používá bezstavové služby: Application that uses stateless services

Tady je příklad aplikace, která používá stavové služby: Application that uses stateful services

Další kroky