Event Grid a spolehlivost
Azure Event Grid umožňuje snadno vytvářet aplikace s architekturami založenými na událostech. Toto řešení podporuje sestavení událostí pocházejících ze služeb Azure, jako jsou objekty blob úložiště a skupiny prostředků. Event Grid zároveň podporuje vaše vlastní události na základě vlastních témat.
Další informace o použití event Gridu najdete v tématu Vytvoření a směrování vlastních událostí pomocí služby Azure Event Grid.
Pokud chcete zjistit, jak pomocí služby Event Grid vytvořit spolehlivější úlohu, odkazte na geografické zotavení po havárii na straně serveru ve službě Azure Event Grid.
Následující části jsou specifické pro Azure Event Grid a spolehlivost:
- Aspekty návrhu
- Kontrolní seznam konfigurace
- Doporučené možnosti konfigurace
- Zdrojové artefakty
Aspekty návrhu
Azure Event Grid poskytuje smlouvu SLA pro dobu provozu. Další informace najdete v tématu SLA pro Event Grid.
Kontrolní seznam
Nakonfigurovali jste Azure Event Grid s ohledem na spolehlivost?
- V případě řešení Azure s více oblastmi nasaďte instanci Event Gridu na oblast.
- Monitorování služby Event Grid pro neúspěšné doručování událostí
- Použijte dávkové události.
- Dávky událostí nemohou překročit
1MB
velikost. - Konfigurace a optimalizace výběru velikosti dávky během zátěžového testování
- Zajistěte, aby zprávy Event Gridu byly přijaty s odpověďmi
HTTP
200-204
pouze v případě, že se doručují do koncového bodu, který obsahuje vlastní kód. - Monitorování event Gridu pro neúspěšné publikování událostí
Doporučení pro konfiguraci
Při konfiguraci služby Azure Event Grid zvažte následující doporučení k optimalizaci spolehlivosti:
Doporučení | Popis |
---|---|
Monitorování služby Event Grid pro neúspěšné doručování událostí | Metrika Delivery Failed se zvýší při každém doručení zprávy do obslužné rutiny události (vypršení časového limitu nebo ne200-204 HTTP statusového kódu). Pokud se událost nedá ztratit, nastavte účet úložiště DLQ (Dead-Letter-Queue). Účet DLQ je místo, kde se události, které nelze doručit po maximálním počtu opakování, umístí. Volitelně můžete implementovat systém oznámení v účtu úložiště DLQ, například zpracováním nové události souboru prostřednictvím Event Gridu. |
Používejte dávkové události ve scénářích s vysokou propustností. | Služba doručí json pole s více událostmi odběratelům místo pole s jednou událostí. Spotřebová aplikace musí být schopná zpracovat tato pole. |
Dávky událostí nemohou překročit 1MB velikost. |
Pokud je datová část zprávy velká, do dávky se vejde jenom jedna nebo několik zpráv. Spotřebová služba bude muset zpracovat více dávek událostí. Pokud má vaše událost velkou datovou část, zvažte jeho uložení jinde, například v úložišti objektů blob, a předání odkazu v události. Při integraci se službami třetích stran prostřednictvím schématu CloudEvents se nedoporučuje překročit 64KB události. |
Konfigurace a optimalizace výběru velikosti dávky během zátěžového testování | Výběr velikosti dávky závisí na velikosti datové části a svazku zpráv. |
Monitorování event Gridu pro neúspěšné publikování událostí | Metrika Unmatched zobrazí publikované zprávy, které se ale neshodují s žádným předplatným. V závislosti na architektuře vaší aplikace může být druhá možnost úmyslná. |
Zdrojové artefakty
Pokud chcete určit typ vstupního schématu pro všechna dostupná témata event Gridu, použijte následující dotaz:
Resources
| where type == 'microsoft.eventgrid/topics'
| project name, resourceGroup, location, subscriptionId, properties['inputSchema']
Pokud chcete načíst ID prostředku existujících privátních koncových bodů pro domény Event Gridu, použijte následující dotaz:
Resources
| where type == 'microsoft.eventgrid/domains' and notnull(properties['privateEndpointConnections'])
| mvexpand properties['privateEndpointConnections']
| project-rename privateEndpointConnections = properties_privateEndpointConnections
| project name, resourceGroup, location, subscriptionId, privateEndpointConnections['properties']['privateEndpoint']['id']
Pokud chcete zjistit stav přístupu k veřejné síti pro všechny dostupné domény Event Gridu, použijte následující dotaz:
Resources
| where type == 'microsoft.eventgrid/domains'
| project name, resourceGroup, location, subscriptionId, properties['publicNetworkAccess']
K identifikaci pravidel brány firewall pro všechny veřejné domény Event Gridu použijte následující dotaz:
Resources
| where type == 'microsoft.eventgrid/domains' and properties['publicNetworkAccess'] == 'Enabled'
| project name, resourceGroup, location, subscriptionId, properties['inboundIpRules']
K identifikaci pravidel brány firewall pro všechna veřejná témata Event Gridu použijte následující dotaz:
Resources
| where type == 'microsoft.eventgrid/topics' and properties['publicNetworkAccess'] == 'Enabled'
| project name, resourceGroup, location, subscriptionId, properties['inboundIpRules']
Pokud chcete načíst ID prostředku existujících privátních koncových bodů pro témata event Gridu, použijte následující dotaz:
Resources
| where type == 'microsoft.eventgrid/topics' and notnull(properties['privateEndpointConnections'])
| mvexpand properties['privateEndpointConnections']
| project-rename privateEndpointConnections = properties_privateEndpointConnections
| project name, resourceGroup, location, subscriptionId, privateEndpointConnections['properties']['privateEndpoint']['id']
Pokud chcete určit typ vstupního schématu pro všechny dostupné domény Event Gridu, použijte následující schéma:
Resources
| where type == 'microsoft.eventgrid/domains'
| project name, resourceGroup, location, subscriptionId, properties['inputSchema']
Pokud chcete zjistit stav přístupu k veřejné síti pro všechna dostupná témata event Gridu, použijte následující dotaz:
Resources
| where type == 'microsoft.eventgrid/topics'
| project name, resourceGroup, location, subscriptionId, properties['publicNetworkAccess']