Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure Event Grid je plně spravovaná služba zasílání zpráv, která umožňuje komunikaci založenou na událostech mezi službami a aplikacemi. Běžně se používá k vytváření architektur řízených událostmi a integraci služeb Azure s vlastními aplikacemi.
Při používání Azure je spolehlivost sdílenou odpovědností. Microsoft nabízí celou řadu možností, které podporují odolnost a obnovení. Zodpovídáte za pochopení toho, jak tyto možnosti fungují ve všech službách, které používáte, a výběrem možností, které potřebujete ke splnění vašich obchodních cílů a cílů dostupnosti.
Tento článek popisuje, jak zajistit odolnost služby Event Grid vůči různým potenciálním výpadkům a problémům, včetně přechodných chyb, selhání zón dostupnosti a selhání v celé oblasti. Také zvýrazňuje klíčové informace o smlouvě o úrovni služeb (SLA) služby Event Grid.
Doporučení pro nasazení do produkčního prostředí
Architektura Azure Well-Architected poskytuje doporučení pro spolehlivost, zabezpečení, náklady, provoz a výkon. Chcete-li porozumět tomu, jak tyto oblasti vzájemně ovlivňují a přispívají k vytvoření spolehlivého řešení v Azure Event Grid, přečtěte si Osvědčené postupy pro Azure Event Grid.
Přehled architektury spolehlivosti
Tato část popisuje některé důležité aspekty fungování služby, které jsou z hlediska spolehlivosti nejrelevantní. Tato část představuje logickou architekturu, která obsahuje některé prostředky a funkce, které nasazujete a používáte. Popisuje také fyzickou architekturu, která poskytuje podrobnosti o tom, jak služba funguje v zákulisí.
Logická architektura
Event Grid směruje události od vydavatelů událostí do příjemců událostí. Používají je jak aplikace zákazníka, tak služby Azure k generování a využívání událostí, jako jsou oznámení při vytváření, aktualizaci nebo odstranění prostředků.
Event Grid podporuje více typů prostředků a modelů nasazení:
Témata jsou primární entity, které přijímají a ukládají události.
Systémová témata vytvářejí automaticky služby Azure za účelem generování událostí pro konkrétní typy prostředků Azure. Vlastní témata jsou vytvořena a spravována vámi.
Témata můžou podporovat jak push, tak pull doručování.
Domény událostí seskupují několik vlastních témat v rámci jednoho koncového bodu, aby se zjednodušilo publikování událostí. Další informace najdete v tématu Porozumění doménám událostí pro správu témat Event Grid.
Namespace se používají s úrovní Standard a poskytují kontejner pro více prostředků Event Grid. Další informace najdete v tématu Koncepty oboru názvů služby Azure Event Grid.
Event Grid podporuje více vrstev, včetně úrovně Basic a úrovně Standard. Tyto úrovně poskytují různé možnosti a liší se v tom, jak se prostředky nasazují a spravují. Další informace najdete v tématu Volba správné úrovně Event Gridu pro vaše řešení.
Fyzická architektura
Event Grid je plně spravovaná služba. Microsoft spravuje základní infrastrukturu, včetně výpočetních prostředků a prostředků úložiště. V podporovaných oblastech služba Event Grid automaticky distribuuje prostředky mezi zóny dostupnosti , aby poskytovala integrovanou redundanci zón.
Odolnost proti přechodným chybám
Přechodné chyby jsou krátká, přerušovaná selhání ve složkách. V distribuovaném prostředí, jako je cloud, se vyskytují často a jsou normální součástí provozu. Přechodné chyby se opravují po krátké době. Je důležité, aby vaše aplikace mohly zpracovávat přechodné chyby, obvykle opakováním ovlivněných požadavků.
Všechny aplikace hostované v cloudu by měly postupovat podle Azure pokynů pro zpracování přechodných chyb, když komunikují s libovolnými rozhraními API, databázemi a dalšími komponentami hostovanými v cloudu. Další informace najdete v tématu Doporučení pro zpracování přechodných chyb.
Při použití služby Event Grid zvažte následující postupy, které zajistí odolnost vašeho řešení vůči přechodným chybám:
Vydavatelé událostí. Když klientská aplikace publikuje události do Event Gridu, zodpovídá za zpracování přechodných selhání. Aplikace by měly při publikování událostí implementovat logiku opakování. Další informace najdete v tématu Řešení přechodných problémů s připojením.
Doporučujeme použít SDK pro datovou rovinu Event Grid, které automaticky zajišťují zpracování přechodných chyb.
Příjemci událostí. Event Grid doručuje události do nakonfigurovaných cílů. U těchto odchozích připojení nakonfigurujete politiky opakování pro odběry událostí. Tyto zásady definují, jak často a jak dlouho Event Grid opakuje doručení, když dojde k selháním, včetně přechodných chyb. Další informace najdete v tématu Doručování zpráv a opakování s tématy názvového prostoru.
Idempotence. Je vhodné navrhnout architekturu událostí pro idempotenci, což znamená, že vaše aplikace může bezpečně přijímat a zpracovávat stejnou událost vícekrát. Pokud například dojde k přechodné chybě nebo jinému problému, když vaše aplikace zpracuje událost s idempotentním přístupem, může vaše aplikace zprávu znovu zpracovat a obnovit.
Jste zodpovědní za návrh své událostní architektury a aplikace, které podporují idempotenci. Obecné informace najdete v tématu Idempotence.
Nedoručených dopisů. Event Grid podporuje vyřazování nedoručitelných událostí (dead-lettering) pro nedoručitelné události, což pomáhá uchovávat data při dlouhotrvajících poruchách u příjemců událostí. Další informace naleznete v části Nedoručení události u odběrů témat v oborech názvů ve službě Event Grid.
Odolnost proti chybám zóny dostupnosti
Zóny dostupnosti jsou fyzicky oddělené skupiny datacenter v rámci oblasti Azure. Když jedna zóna selže, mohou služby přejít na jednu ze zbývajících zón.
Prostředky Event Gridu jsou zónově redundantní v oblastech, které podporují zóny dostupnosti. Redundance zóny znamená, že i když má zóna dostupnosti problém, vaše prostředky Event Gridu budou dál fungovat pomocí infrastruktury v jiných zónách. Data události se automaticky replikují napříč třemi zónami dostupnosti pro odolnost v rámci regionu a služba Event Grid se sama obnoví během výpadku celé zóny. Tuto funkci nemusíte povolovat ani konfigurovat.
Diagram znázorňuje různé prostředky Event Gridu, které se distribuují napříč třemi zónami dostupnosti. Mezi prostředky patří vlastní téma, systémové téma, doména, téma partnera, předplatné služby a jmenný prostor.
Požadavky
Podpora oblastí: Redundance zón je dostupná ve všech oblastech Azure, které podporují zóny dostupnosti.
Náklady
Za redundanci zón nejsou žádné další náklady. Tuto funkci nemůžete povolit ani zakázat. Ve výchozím nastavení je součástí podporovaných oblastí.
Konfigurujte podporu zón dostupnosti
Není nutná žádná konfigurace. Všechny prostředky Event Gridu v podporovaných oblastech jsou automaticky zónově redundantní.
Chování, když jsou všechny zóny v pořádku
Tato část popisuje, co očekávat, když je prostředek Event Gridu zónově redundantní a všechny zóny jsou funkční.
Operace napříč zónami: Event Grid funguje v modelu aktivní-aktivní napříč zónami dostupnosti. Klientská připojení jsou automaticky vyvážená mezi zónami a služba směruje operace do dostupné infrastruktury zasílání zpráv bez ohledu na zónu.
Replikace dat mezi zónami: Event Grid automaticky replikuje metadata a data událostí napříč zónami dostupnosti, aby se zachovala odolnost.
Chování při selhání zóny
Tato část popisuje, co očekávat, když je prostředek Event Gridu zónově redundantní a v jedné z zón dojde k výpadku.
- Detekce a reakce: Event Grid automaticky rozpozná selhání zóny a zahájí přepnutí na plně funkční zóny. Nemusíte dělat nic, abyste zahájili převzetí zóny.
- Oznámení: Microsoft vás při výpadku zóny automaticky neoznámí. Můžete ale použít Azure Service Health k pochopení celkového stavu služby, včetně jakýchkoli selhání zón, a můžete nastavit upozornění služby Service Health, která vás upozorní na problémy.
Aktivní požadavky: Během selhání zóny může Event Grid vypustit aktivní žádosti. Pokud vaši klienti zpracovávají přechodné chyby správně, například opakovaným pokusem po krátké přestávce, obvykle se vyhnou významnému dopadu.
Očekávaná ztráta dat: Model redundance zón služby Event Grid je navržený tak, aby umožňoval odolnost proti selháním zón s minimálním dopadem. Během selhání zóny je však možné některé ztráty dat.
Pokud potřebujete zajistit, aby vaše aplikace během selhání zóny nepřišla o data, měli byste:
- Navrhněte producenty a uživatele událostí tak, aby dodržovali doporučení pro zpracování přechodných chyb, včetně opakování a idempotence.
- Naplánujte stálost událostí ve zdroji nebo v trvalém úložišti událostí.
Očekávaný výpadek: Selhání zóny může způsobit několik sekund výpadku. Pokud vaši klienti zpracovávají přechodné chyby správně, například opakovaným pokusem po krátké přestávce, obvykle se vyhnou významnému dopadu.
Přesměrování provozu: Event Grid detekuje ztrátu zóny a automaticky přesměruje nové požadavky do infrastruktury v jedné ze zón dostupnosti, které jsou v pořádku.
Obnovení zóny
Když se ovlivněná zóna obnoví, Služba Event Grid ji automaticky znovu integruje do služby, aniž by vyžadovala akci zákazníka. Obnovená zóna pak přijímá nová připojení a zpracovává zprávy společně s ostatními zónami. Data replikovaná do přeživších zón během výpadku zůstanou nedotčená a normální replikace se obnoví napříč všemi zónami. Pro obnovení nebo opětovné začlenění zóny nemusíte provádět akce.
Testování poruch zón
Event Grid spravuje směrování provozu, převzetí v případě selhání a obnovení v případě selhání zóny, takže nemusíte kontrolovat procesy selhání v zóně dostupnosti ani dávat další vstup.
Odolnost proti selháním v celé oblasti
Prostředky Event Gridu se nasazují do jedné oblasti. Pokud dojde k selhání v celé oblasti, vaše prostředky služby Event Grid nejsou k dispozici.
Ve spárovaných oblastech Azure poskytuje Event Grid omezené geografické zotavení po havárii pro metadata prostředků Služby Event Grid. Můžete také navrhnout a vytvořit vlastní řešení pro více oblastí, které může podporovat plánování zotavení po havárii. Následující tabulka ukazuje, jak různé typy prostředků Event Grid podporují jednotlivé modely.
| Prostředek Event Gridu | Podporuje geografické zotavení po havárii. | Podporuje vlastní řešení. |
|---|---|---|
| Vlastní témata | Podporováno | Podporováno |
| Systémová témata | Povoleno automaticky | Není podporováno |
| Domény | Podporováno | Podporováno |
| Jmenné prostory | Není podporováno | Podporováno |
| Jmenné prostory partnerů | Není podporováno | Podporováno |
Obnova po geografických katastrofách
Geografické zotavení po havárii replikuje metadata služby Event Grid do spárované oblasti vaší primární oblasti pro podporované prostředky. Data událostí se nereplikují.
Geografické zotavení po havárii je navržené jako nejlepší řešení, které spravuje Microsoft pro závažné regionální výpadky a není určené k zajištění rychlých nebo předvídatelných dob obnovení. Vynucené převzetí služeb iniciované společností Microsoft je prováděno ve výjimečných situacích, aby byly zdroje Event Gridu z postižené oblasti převedeny do odpovídající geograficky spárované oblasti. Microsoft si vyhrazuje právo určit, kdy tuto možnost uplatnit. Tento mechanismus nevyžaduje souhlas zákazníka před přesměrováním provozu.
Důležité
Microsoft aktivuje Microsoftem spravované převzetí služeb při selhání. Pravděpodobně dojde po významném zpoždění a provede se na základě nejlepšího úsilí. Převzetí služeb při selhání prostředků Event Gridu může nastat v době, která se liší od doby převzetí služeb při selhání jiných služeb Azure.
Pokud potřebujete být odolní vůči výpadkům oblastí, zvažte použití jednoho z vlastních řešení pro více oblastí pro zajištění odolnosti.
Volitelně můžete zakázat geografické zotavení po havárii a použít vlastní řešení pro více oblastí , které splňuje vaše požadavky na výběr oblasti, dobu převzetí služeb při selhání a další. Když zakážete geografické zotavení po havárii, Microsoft nereplikuje žádná data událostí do jiné oblasti.
Tato funkce není dostupná v oblastech, které nemají spárovanou oblast.
Požadavky
Podpora oblastí: Geografické zotavení po havárii je dostupné jenom v oblastech Azure, které mají spárovanou oblast.
Typy prostředků: Vlastní témata a domény podporují geografické zotavení po havárii. Systémová témata jsou povolená pro automatické geografické zotavení po havárii. Jiné typy prostředků, jako jsou obory názvů a partnerské obory názvů, nejsou podporovány.
Náklady
Za geografické zotavení po havárii nejsou žádné další náklady.
Konfigurace podpory více oblastí
V podporovaných oblastech jsou systémová témata automaticky nakonfigurovaná pro geografické zotavení po havárii. Pro jiné typy prostředků Event Gridu:
Povolení geografického zotavení po havárii: Aktualizujte konfiguraci tématu nebo domény a vyberte Cross-Geo (výchozí).
Zakázání geografického zotavení po havárii: Aktualizujte konfiguraci tématu nebo domény a vyberte Místní.
Chování, když jsou všechny oblasti v pořádku
Tato část popisuje, co očekávat, když je prostředek Event Gridu nakonfigurovaný pro geografické zotavení po havárii a všechny oblasti jsou funkční.
Operace mezi oblastmi: Veškerý provoz se směruje do primární oblasti.
Replikace dat mezi oblastmi: Metadata se synchronně replikují do spárované oblasti. Data událostí se nereplikují.
Chování při selhání oblasti
Tato část popisuje, co očekávat, když je prostředek Event Gridu nakonfigurovaný pro geografické zotavení po havárii a dojde k výpadku v primární oblasti.
- Detekce a reakce: Microsoft identifikuje problémy v regionech a rozhodne, zda a kdy zahájit proces převzetí služeb při selhání.
- Oznámení: Microsoft vás při výpadku oblasti automaticky neoznámí. Můžete ale použít Azure Service Health, abyste porozuměli celkovému stavu služby, včetně jakýchkoli selhání oblastí, a můžete nastavit upozornění služby Služba Health, která vás upozorní na problémy.
Aktivní požadavky: Aktivní požadavky na primární oblast jsou ukončeny. Po dokončení procesu převzetí služeb při selhání musí klientské aplikace tyto požadavky opakovat.
Očekávaná ztráta dat:
Metadata. Event Grid během převzetí služeb při selhání zachovává metadata. Vzhledem k tomu, že všechny změny metadat se synchronně replikují, neočekává se žádná ztráta metadat.
Data o události Data událostí v primární oblasti nejsou k dispozici a můžou být ztracena, pokud je oblast neobnovitelná.
Po převzetí služeb při selhání se nová data zpracovávají ze spárované oblasti. Nezpracované události se odesílají z primární oblasti hned po zmírnění výpadku. Pokud obnovení primární oblasti vyžaduje delší dobu, než je hodnota time-to-live nastavená u událostí, můžou se data v primární oblasti vynechat. Pokud chcete tuto ztrátu dat zmírnit, doporučujeme nakonfigurovat cíl nedoručených dopisů pro odběr událostí.
Pokud je ovlivněná oblast ztracena a neobnovitelná, dojde ke ztrátě dat. V nejlepším případě příjemce udržuje tempo publikování a ztratí se jen pár sekund dat. Nejhorší scénář nastane v případě, že příjemce aktivně nezpracovává události. Při maximální době trvání 24 hodin může ztráta dat být až 24 hodin.
Poznámka:
Event Grid nemůže zaručit uchovávání dat během výpadku oblasti. Pokud potřebujete garantované uchovávání, musíte navrhnout aplikaci tak, aby trvale ukládaly události v jiném úložišti dat.
Očekávaný výpadek: Doba výpadku závisí na závažnosti výpadku a času potřebném k vyhodnocení Microsoftem a zahájení převzetí služeb při selhání. Měli byste očekávat, že výpadek bude aspoň jedna hodina a možná delší.
Event Grid začne přijímat provoz pro témata a odběry, včetně vytváření, aktualizace a odstraňování operací, do pěti minut od zahájení přepnutí při selhání.
Přerozdělování: Po dokončení procesu převzetí služeb při selhání se provoz automaticky směruje do sekundární oblasti.
Obnovení oblasti
Microsoft spravuje obnovení oblastí a proces obnovení závisí na konkrétním scénáři výpadku. Obecně se failover považuje za jednosměrnou operaci.
Testování selhání regionů
Event Grid spravuje směrování provozu, převzetí služeb při selhání a obnovu pro geografickou obnovu po havárii. Nemusíte nic inicializovat. Vzhledem k tomu, že je tato funkce plně spravovaná, nemusíte ověřovat procesy při selhání regionu.
Vlastní řešení pro více regionů pro odolnost systémů
Můžete chtít zakázat nebo nespoléhat na Microsoftem iniciované převzetí služeb při selhání z některého z těchto důvodů:
Vyžadujete, aby se data událostí, nejen metadata, replikovala napříč oblastmi.
Potřebujete zaručit konkrétní dobu převzetí služeb při selhání nebo použít specifickou metodu. Převzetí služeb při selhání iniciované Microsoftem se provádí podle nejlepších možností.
Vaše oblast není spárovaná s jinou oblastí Azure.
Pár vaší oblasti nesplňuje požadavky vaší organizace na rezidenci dat.
Pro vyšší úrovně řízení a předvídatelnosti můžete implementovat vlastní architektury s více oblastmi. Tento přístup zahrnuje nasazení samostatných prostředků Event Gridu do několika oblastí a správu převzetí služeb při selhání na úrovni aplikace. Při použití tohoto modelu zodpovídáte za nasazování a konfiguraci prostředků a jejich synchronizaci napříč oblastmi.
Při návrhu řešení s více oblastmi zvažte následující faktory:
Replikace Měli byste implementovat vlastní proces pro replikaci prostředků Event Gridu a jejich konfiguraci mezi primárními a sekundárními oblastmi. Nezapomeňte replikovat identity klientů, certifikáty certifikační autority, skupiny klientů, prostory témat a vazby oprávnění, pokud je to možné. Můžete se rozhodnout, jestli implementovat ruční nebo automatizovanou replikaci.
Přístupy k převzetí při selhání Můžete zvolit, jestli chcete vytvořit řešení typu aktivní-aktivní nebo aktivní-pasivní:
Aktivní-aktivní řešení lze dosáhnout replikací metadat a vyrovnáváním zatížení napříč obory názvů.
Aktivní-pasivní řešení lze dosáhnout tak, že replikuje metadata, aby sekundární obor názvů zůstal připravený tak, aby v případě nedostupnosti primárního oboru názvů bylo možné provoz směrovat do sekundárního oboru názvů.
Monitorování stavu K monitorování stavu témat můžete použít integrovaná rozhraní API pro stav poskytovaná službou Event Grid.
Klientské aplikace musí detekovat selhání oblasti a směrovat události do jiné vhodné oblasti.
Alternativně můžete implementovat službu concierge , která přesměruje klienty na primární nebo sekundární koncové body pro svá témata nebo obory názvů provedením kontrol stavu na těchto koncových bodech. Služba Concierge může být webová aplikace, která je geograficky replikovaná a je dostupná prostřednictvím technik přesměrování DNS nebo služeb, jako je Azure Traffic Manager.
Další informace o jednom přístupu, včetně ukázkového kódu, naleznete v tématu Implementace převzetí služeb při selhání na straně klienta v Event Gridu.
Zálohování a obnovení
Event Grid je primárně služba směrování událostí a nemá nativní funkce zálohování nebo obnovení.
Pokud potřebujete implementovat možnosti zálohování nebo pokud potřebujete dlouhodobé uchovávání, doporučujeme provádět archivaci ve své aplikaci. K tomu byste měli vytvořit logiku pro směrování nebo kopírování událostí do odolného úložiště, jako je Azure Blob Storage, paralelně s primární cestou doručení. Pokud jsou podřízené systémy nedostupné, může vaše aplikace k přehrání událostí použít archiv.
Odolnost vůči údržbě služeb
Microsoft pravidelně používá aktualizace služeb a provádí další údržbu. Platforma Azure tyto aktivity zpracovává automaticky a zajišťuje, aby byla údržba pro vás bezproblémová a transparentní. Během událostí údržby není očekáván výpadek, pokud jste nebyli informováni prostřednictvím plánované údržby služby Azure Service Health.
Smlouva o úrovni služeb
Smlouva o úrovni služeb (SLA) pro služby Azure popisuje očekávanou dostupnost každé služby a podmínky, které musí vaše řešení splnit, aby bylo dosaženo očekávané dostupnosti. Další informace najdete v tématu Smlouvy SLA pro online služby.
Dostupnost SLA u Event Gridu zahrnuje publikování událostí.