Upravit

Sdílet prostřednictvím


Použití zprostředkovatele zpráv a událostí k integraci podnikových systémů

Azure Event Grid
Azure Service Bus

Tato architektura je založená na základní architektuře podnikové integrace , ale zahrnuje, jak integrovat podnikové back-endové systémy. Tato architektura používá zprostředkovatele zpráv a události k oddělení služeb pro zajištění větší škálovatelnosti a spolehlivosti. Ujistěte se, že znáte návrh a komponenty v základní architektuře integrace. Tyto prvky poskytují základní informace o základních součástech této architektury.

Architektura

Back-endové systémy, které tento návrh odkazuje, zahrnují systémy saaS (software jako služba), služby Azure, služby založené na zprávách a existující webové služby ve vašem podniku.

Diagram znázorňující referenční architekturu pro podnikovou integraci, která používá fronty a události

Stáhněte si soubor aplikace Visio s touto architekturou.

Podrobnosti scénáře

Předchozí architektura staví na jednodušší základní architektuře podnikové integrace, která používá Azure Logic Apps k orchestraci pracovních postupů přímo s back-endovými systémy a používá Azure API Management k vytváření katalogů rozhraní API.

Tato verze architektury přidává dvě komponenty, které pomáhají systému lépe spolehlivá a škálovatelná:

Tato architektura používá asynchronní komunikaci prostřednictvím zprostředkovatele zpráv místo přímé synchronní volání back-endových služeb. Asynchronní komunikace poskytuje následující výhody:

  • Používá model vyrovnávání zatížení na základě fronty ke zpracování nárůstů úloh prostřednictvím vyrovnávání zatížení.

  • Používá vzor Vydavatel-Odběratel, abyste mohli vysílat zprávy více příjemcům.

  • Sleduje průběh dlouhotrvajících pracovních postupů spolehlivě, i když zahrnují více kroků nebo více aplikací.

  • Pomáhá oddělit aplikace.

  • Integruje se se stávajícími systémy založenými na zprávách.

  • Poskytuje možnost zařadit zprávy do fronty, pokud back-endový systém není k dispozici.

Event Grid použijte, aby různé komponenty systému mohly reagovat na události, když k nim dojde, a nespoléhat se na dotazování nebo naplánované úkoly. Podobně jako fronta zpráv a témata pomáhá Event Grid oddělit aplikace a služby. Pokud aplikace nebo služba publikuje události, oznámí se všem odběratelům, kteří mají zájem. Můžete přidávat nové předplatitele bez aktualizace odesílatele.

Řada služeb Azure podporuje odesílání událostí do Event Gridu. Aplikace logiky může například naslouchat události při přidání nových souborů do úložiště objektů blob. Tento vzor vytvoří reaktivní pracovní postupy, ve kterých se nahraje soubor nebo vloží zpráva do fronty, spustí řadu procesů. Procesy se můžou spouštět paralelně nebo v určité sekvenci.

Doporučení

Zvažte následující doporučení. Další doporučení najdete v tématu Základní architektura podnikové integrace.

Service Bus

Service Bus má dva modely doručování, model vyžádání změn a model proxied push :

  • Model přijetí změn: Příjemce se průběžně dotazuje na nové zprávy. Pokud potřebujete spravovat více front a časy dotazování, může být dotazování neefektivní. Tento model ale může zjednodušit architekturu, protože odstraňuje další komponenty a datové segmenty směrování.

  • Model proxied push: Příjemce se původně přihlásí k odběru konkrétního typu události v tématu Event Gridu. Když je k dispozici nová zpráva, Service Bus vyvolá a odešle událost prostřednictvím event Gridu. Tato událost pak aktivuje příjemce, aby stáhl další dávku zpráv ze služby Service Bus. Tento model umožňuje systémům přijímat zprávy téměř v reálném čase, ale bez použití prostředků k průběžnému dotazování na nové zprávy. Tato architektura používá další komponenty, které musíte nasadit, spravovat a zabezpečit.

Při vytváření pracovního postupu Standard Logic Apps, který využívá zprávy Service Bus, doporučujeme používat triggery integrovaného konektoru Service Bus. Integrovaný konektor spouští abstrakci většiny konfigurace modelu vyžádané replikace bez přidání dalších nákladů. Tato funkce poskytuje správnou rovnováhu mezi náklady, správou plochy a zabezpečením, protože konektor nepřetržitě smyčuje v modulu runtime Logic Apps. Další informace najdete v tématu Aktivační události integrovaného konektoru služby Service Bus.

Pro přístup ke skupině zpráv použijte režim PeekLock. Když použijete Nástroj PeekLock, aplikace logiky může před dokončením nebo opuštěním zprávy provést kroky k ověření každé zprávy. Tento přístup zabraňuje náhodné ztrátě zpráv.

Event Grid

Když se aktivuje trigger Event Gridu, znamená to, že došlo aspoň k jedné události. Když například aplikace logiky získá trigger Event Gridu pro zprávu služby Service Bus, může být k dispozici několik zpráv, které je možné zpracovat.

Důležité informace

Tyto aspekty implementují pilíře dobře architektuře Azure, což je sada hlavních principů, které je možné použít ke zlepšení kvality úlohy. Další informace naleznete v tématu Microsoft Azure Well-Architected Framework.

Spolehlivost

Spolehlivost zajišťuje, že vaše aplikace může splňovat závazky, které uděláte pro vaše zákazníky. Další informace najdete v kontrolním seznamu pro kontrolu návrhu pro spolehlivost.

  • Microsoft Entra ID je globálně distribuovaná platforma SaaS s vysokou dostupností.

  • Službu API Management můžete nasadit v několika konfiguracích s vysokou dostupností podle obchodních požadavků a tolerance nákladů. Další informace najdete v tématu Zajištění dostupnosti a spolehlivosti služby API Management.

  • Úroveň Consumption pro Logic Apps podporuje geograficky redundantní úložiště. Další informace najdete v tématu Provozní kontinuita a zotavení po havárii pro Logic Apps.

  • Definice prostředků event Gridu pro témata, systémová témata, domény a odběry událostí a data událostí se automaticky replikují napříč zónami dostupnosti v oblasti. Pokud dojde k selhání v jedné ze zón dostupnosti, prostředky Event Gridu automaticky převezme služby při selhání do jiné zóny dostupnosti bez zásahu člověka. Další informace najdete v tématu Zotavení po havárii napříč oblastmi a provozní kontinuita.

  • Service Bus Premium podporuje geografické zotavení po havárii a zóny dostupnosti. Service Bus Standard podporuje replikaci.

Informace o garantovaných podrobnostech o dostupnosti jednotlivých služeb najdete v tématu Smlouvy SLA pro online služby.

Zabezpečení

Zabezpečení poskytuje záruky proti záměrným útokům a zneužití cenných dat a systémů. Další informace najdete v kontrolním seznamu pro kontrolu návrhu zabezpečení.

Kvůli zabezpečení služby Service Bus spárujte ověřování Microsoft Entra se spravovanými identitami. Integrace Microsoft Entra ID pro prostředky Service Bus poskytuje řízení přístupu na základě role v Azure (RBAC) pro jemně odstupňované řízení přístupu klienta k prostředkům. Azure RBAC můžete použít k udělení oprávnění k objektu zabezpečení, jako je uživatel, skupina nebo instanční objekt aplikace. Instanční objekt aplikace v tomto scénáři je spravovaná identita.

Pokud nemůžete použít ID Microsoft Entra, pomocí ověřování sdíleného přístupového podpisu (SAS) udělte uživatelům přístup a konkrétní práva k prostředkům služby Service Bus.

Pokud potřebujete zveřejnit frontu nebo téma služby Service Bus jako koncový bod HTTP, například k publikování nových zpráv, použijte api Management k zabezpečení fronty fronty koncového bodu. K zabezpečení koncového bodu pak můžete použít certifikáty nebo ověřování OAuth. Nejjednodušší způsob, jak pomoct zabezpečit koncový bod, je použít aplikaci logiky, která má jako zprostředkující trigger požadavku HTTP nebo odpovědi.

Služba Event Grid pomáhá zabezpečit doručování událostí prostřednictvím ověřovacího kódu. Pokud k využívání události používáte Logic Apps, ověřování je automatické. Další informace najdete v tématu Zabezpečení a ověřování služby Event Grid.

Zabezpečení sítě

Zvažte zabezpečení sítě v celém návrhu.

Optimalizace nákladů

Optimalizacenákladůch Další informace najdete v kontrolním seznamu pro kontrolu návrhu pro optimalizaci nákladů.

K odhadu nákladů použijte cenovou kalkulačku Azure. Tady je několik dalších aspektů.

API Management

Při spuštění se vám budou účtovat všechny instance služby API Management. Pokud vertikálně navýšíte kapacitu a pak už tuto úroveň výkonu nepotřebujete, ručně vertikálně navyšte kapacitu nebo nakonfigurujte automatické škálování.

U úloh s lehkým využitím zvažte úroveň Consumption, což je nízkonákladová bezserverová možnost. Úroveň Consumption se účtuje podle volání rozhraní API. Další úrovně se účtují za hodinu.

Logic Apps

Logic Apps používá bezserverový model. Fakturace se počítá na základě počtu akcí a volání konektorů. Další informace najdete na stránce s cenami služby Logic Apps.

Fronty, témata a odběry služby Service Bus

Fronty a předplatná služby Service Bus podporují pro doručování zpráv jak modely proxied push, tak i vyžádané přijetí změn. V modelu vyžádání změn se každý požadavek na dotazování měří jako akce. I když nastavíte dlouhé dotazování na výchozí hodnotu 30 sekund, můžou být náklady vysoké. Pokud nepotřebujete doručení zpráv v reálném čase, zvažte použití modelu proxied push.

Fronty služby Service Bus jsou zahrnuté ve všech úrovních: Basic, Standard a Premium. Témata a předplatná služby Service Bus jsou k dispozici na úrovních Standard a Premium. Další informace najdete v tématu s cenami služby Service Bus.

Event Grid

Event Grid používá bezserverový model. Fakturace se vypočítá na základě počtu operací. Operace zahrnují události, které přejdou na domény nebo témata, pokročilé shody, pokusy o doručení a volání správy. Využití až 100 000 operací je bezplatné.

Další informace najdete v tématu Ceny služby Event Grid a dobře navržená optimalizace nákladů architektury.

Efektivita provozu

Efektivita provozu se zabývá provozními procesy, které nasazují aplikaci a udržují ji spuštěnou v produkčním prostředí. Další informace najdete v kontrolním seznamu pro kontrolu návrhu pro efektivitu provozu.

Základní referenční architektura podnikové integrace poskytuje pokyny k vzorům DevOps, které jsou v souladu s pilířem Dobře navržená architektura provozní efektivity .

Automatizujte co nejvíce operací obnovení, abyste zlepšili efektivitu provozu. S ohledem na automatizaci můžete kombinovat monitorování protokolů Azure se službou Azure Automation a automatizovat převzetí služeb při selhání prostředků služby Service Bus. Příklad logiky automatizace pro zahájení převzetí služeb při selhání najdete v tématu Tok převzetí služeb při selhání.

Efektivita výkonu

Efektivita výkonu je schopnost vaší úlohy škálovat tak, aby splňovala požadavky, které na ni mají uživatelé efektivním způsobem. Další informace najdete v kontrolním seznamu pro kontrolu návrhu týkajícího se efektivity výkonu.

Pokud chcete dosáhnout vyšší škálovatelnosti, může úroveň Service Bus Premium škálovat počet jednotek zasílání zpráv. Další informace najdete v tématu Úrovně zasílání zpráv Service Bus Premium a Standard a funkce automatického škálování.

Další doporučení služby Service Bus najdete v tématu Osvědčené postupy pro vylepšení výkonu pomocí zasílání zpráv služby Service Bus.

Další kroky