Event Grid v Kubernetes – koncepty

Tento článek popisuje hlavní koncepty v Event Grid v Kubernetes s využitím Azure ARC (Preview).

Důležité

Event Grid v Kubernetes s Azure Arc je aktuálně ve verzi Public Preview. Tato verze Preview se poskytuje bez smlouvy o úrovni služeb a nedoporučuje se pro úlohy v produkčním prostředí. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.

Události

Událost je záznam dat, který oznamuje skutečnost o provozu softwarového systému. Událost obvykle oznamuje změnu stavu, protože signál vyvolal systém nebo signál zjištěný systémem. Události obsahují dva typy informací:

  • Data události , která představují výskyt změny stavu.

  • Kontextové atributy , které poskytují kontextové informace o výskytu události.

    Data události a kontextové atributy lze použít pro filtrování událostí.

Event Grid v Kubernetes podporuje specifikaci schématu CloudEvents . Tady je příklad události, která používá schéma CloudEvents. Event Grid podporuje událost o velikosti až 1 MB.

[{
       "specVersion": "1.0",
       "type" : "orderCreated",
       "source": "myCompanyName/us/webCommerceChannel/myOnlineCommerceSiteBrandName",
       "id" : "eventId-n",
       "time" : "2020-12-25T20:54:07+00:00",
       "subject" : "account/acct-123224/order/o-123456",
       "dataSchema" : "1.0",
       "data" : {
          "orderId" : "123",
          "orderType" : "PO",
          "reference" : "https://www.myCompanyName.com/orders/123"
      }
}]

Zdroj

Zdrojový atribut popisuje kontext, ve kterém došlo k události. Zdrojem událostí může být původce událostí. V některých případech však existují producenti, kteří vytvářejí a publikují události. A tito výrobci se liší od zdroje. Pro zjednodušení v tomto článku se předpokládá, že zdroj je producentem událostí.

Každý zdroj události vytváří události jednoho nebo více typů událostí. Jako zdroj událostí definuje aplikace sadu souvisejících událostí, které oznamují změny stavu. Každá událost má běžné informace, jako je například zdroj události, čas, kdy došlo k události, a jedinečný identifikátor. Každá událost má také konkrétní informace, které jsou relevantní pouze pro konkrétní typ události. Podpora pro událost velikosti až 1 MB je v současnosti ve verzi Preview.

Vlastnosti, které jsou součástí události, najdete v tématu CloudEvents Schema.

Vydavatelé

Vydavatelé událostí jsou aplikace nebo systémy, které odesílají události, které se mají Event Grid doručovat předplatitelům událostí.

Témata

Téma je forma vstupního kanálu, která zveřejňuje koncový bod, ke kterému vydavatelé odesílají události Event Grid.

Téma lze použít pro kolekci souvisejících událostí. Můžete vytvořit téma pro každou kategorii souvisejících událostí. V některých případech lze zdroj použít k organizování událostí do kategorií, protože zdroje jsou obvykle spojeny se sadou úzce souvisejících typů událostí ("MyApp. OrderCreated", "MyApp. OderDeleted", "MyApp. OrderRejected" atd.).

Vezměte v úvahu aplikaci, která odesílá události týkající se správy uživatelských účtů a objednávek zpracování. Je pravděpodobné, že předplatitel události zajímá využívání obou kategorií událostí. Vytvořte dvě vlastní témata a nechte obslužné rutiny událostí odebírat to téma, které je zajímá. Pro malá řešení můžete chtít odeslat všechny události do jednoho tématu.

Předplatitelé události

Předplatitelé událostí jsou softwarové systémy, jako jsou mikroslužby, které zpřístupňují koncové body, na které Event Grid doručují události.

Odběry událostí

Odběr událostí oznamuje, Event Grid které události v tématu, které vás zajímá (filtrování událostí), a kam je odeslat (směrování událostí). Při vytváření odběru události poskytnete koncový bod pro zpracování události. Můžete vybrat události, které chcete doručit do koncového bodu, a to tak, že nakonfigurujete klauzule Filter pro odběr události.

Obslužné rutiny událostí

Obslužná rutina události je softwarový systém, který zpřístupňuje koncový bod, do kterého se odesílají události. Obslužná rutina přijme událost a provede akce zpracování události. Event Grid podporuje několik typů obslužných rutin. Jako obslužnou rutinu můžete použít podporovanou službu Azure hostovanou v Kubernetes nebo Azure nebo vlastní řešení, které zveřejňuje Webhook (koncový bod) kdekoli hostem. V závislosti na typu obslužné rutiny Event Grid podle různých mechanismů Zabezpečte doručení události. Pokud je cílová obslužná rutina události webovým zavěšením protokolu HTTP, pokusí se událost opakovat, dokud obslužná rutina nevrátí stavový kód 200 – OK. Další informace naleznete v tématu obslužné rutiny událostí.

Ověřování SAS

Event Grid v Kubernetes poskytuje ověřování založené na klíčích SAS pro publikování událostí v tématech.

Doručování událostí

Event Grid v Kubernetes poskytuje spolehlivý mechanismus doručování a opakování. Pokud Event Grid nemůže potvrdit, že koncový bod obslužné rutiny události přijal událost, znovu doručí událost. Další informace najdete v tématu doručování zpráv Event Grid a opakování.

Publikování událostí Batch

Při použití tématu musí být události vždy publikovány v poli. Pro scénáře s nízkou propustností bude pole obsahovat pouze jednu událost. Pro případy s vysokým využitím doporučujeme, abyste v rámci publikování provedli několik událostí dohromady, abyste dosáhli vyšší efektivity. Dávky mohou být až 1 MB. Každá událost by neměla být větší než 1 MB. Další informace najdete v tématu doručování událostí služby Batch.

Event Grid komponent Kubernetes

  • Operátor Event Grid implementuje vzorek operátoru. Sleduje změny stavu Event Grid prostředků v důsledku požadavků na řídicí plochu, které byly provedeny na serveru rozhraní API pro Kubernetes. Pokud existuje žádost, která má vliv na stav jakéhokoli Event Gridch prostředků, operátor Event Grid synchronizuje tento stav s zprostředkovatelem Event Grid.

  • Zprostředkovatel Event Grid slouží jako řídicí rovina a operace roviny dat.

    Jako služba řídicí roviny zodpovídá za to, že se stav Event Grid do požadovaného stavu, který komunikuje operátorem Event Grid. Například když je vytvořena žádost o vytvoření nového tématu, splní požadavek a aktualizuje metadata služby.

    Jako služba datové roviny obsluhuje všechny žádosti o publikování událostí a doručuje události do jejich cílů konfigurovaných pro odběry událostí.

Další kroky

Informace o tom, jak začít, najdete v tématu Vytvoření témat a odběrů.