Event Grid a spolehlivost

Azure Event Grid umožňuje snadno vytvářet aplikace pomocí architektur založených na událostech. Toto řešení podporuje předdefinované události pocházející ze služeb Azure, jako jsou objekty blob úložiště a skupiny prostředků. Event Grid podporuje také vlastní události s využitím vlastních témat.

Další informace o používání služby Event Grid najdete v tématu Vytváření a směrování vlastních událostí pomocí Azure Event Grid.

Pokud chcete zjistit, jak použití Služby Event Grid vytváří spolehlivější úlohu, přečtěte si informace o geografickém zotavení po havárii na straně serveru v Azure Event Grid.

Následující části jsou specifické pro Azure Event Grid a spolehlivost:

  • Na co dát pozor při navrhování
  • Kontrolní seznam konfigurace
  • Doporučené možnosti konfigurace
  • Zdrojové artefakty

Na co dát pozor při navrhování

Azure Event Grid poskytuje smlouvu SLA o době provozu. Další informace najdete v článku o smlouvě SLA pro Event Grid.

Kontrolní seznam

Nakonfigurovali jste Azure Event Grid se spolehlivostí?

  • V případě řešení Azure s více oblastmi nasaďte instanci Event Gridu na každou oblast.
  • Monitorování doručení neúspěšných událostí ve službě Event Grid
  • Používejte dávkové události.
  • Dávky událostí nesmí překročit 1MB velikost.
  • Nakonfigurujte a optimalizujte výběr velikosti dávky během zátěžového testování.
  • Zajistěte, aby se zprávy Event Gridu přijímaly s odpověďmi HTTP200-204 jenom v případě, že se doručují do koncového bodu, který obsahuje vlastní kód.
  • Monitorování neúspěšného publikování událostí ve službě Event Grid

Doporučení ke konfiguraci

Při konfiguraci Azure Event Grid zvažte následující doporučení pro optimalizaci spolehlivosti:

Doporučení Description
Monitorování doručení neúspěšných událostí ve službě Event Grid Metrika Delivery Failed se zvýší pokaždé, když zprávu nelze doručit do obslužné rutiny události (vypršení časového limitu nebo stavový200-204 HTTP kód). Pokud událost nejde ztratit, nastavte účet úložiště DLQ (Dead-Letter-Queue). Účet DLQ je místo, kam se umístí události, které nelze doručit po maximálním počtu opakování. Volitelně můžete v účtu úložiště DLQ implementovat systém oznámení, například zpracováním nové události souboru prostřednictvím Event Gridu.
Ve scénářích s vysokou propustností používejte dávkové události. Služba doručí json předplatitelům pole s více událostmi místo pole s jednou událostí. Spotřebová aplikace musí být schopná tato pole zpracovat.
Dávky událostí nesmí překročit 1MB velikost. Pokud je datová část zprávy velká, vejde se do dávky 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 možnost ji uložit jinam, například do úložiště objektů blob, a předat v události odkaz. Při integraci se službami třetích stran prostřednictvím schématu CloudEvents se nedoporučuje překračovat 64KB události.
Nakonfigurujte a optimalizujte výběr velikosti dávky během zátěžového testování. Výběr velikosti dávky závisí na velikosti datové části a objemu zpráv.
Monitorování neúspěšného publikování událostí ve službě Event Grid Metrika Unmatched zobrazí zprávy, které jsou publikované, ale neodpovídají žádnému předplatnému. V závislosti na architektuře aplikace může být druhá možnost úmyslná.

Zdrojové artefakty

K určení typu 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 Služby Event Grid, 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 z veřejné sítě 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']

K načtení 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']

Další krok