Event Grid på Kubernetes – begrepp

I den här artikeln beskrivs huvudbegreppen i Event Grid kubernetes med Azure Arc (förhandsversion).

Viktigt

Event Grid på Kubernetes med Azure Arc är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan serviceavtal och rekommenderas inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Händelser

En händelse är en datapost som meddelar ett faktum om driften av ett programvarusystem. Normalt meddelar en händelse en tillståndsändring på grund av en signal som utlöses av systemet eller en signal som observerats av systemet. Händelser innehåller två typer av information:

  • Händelsedata som representerar förekomsten av en tillståndsändring.

  • Kontextattribut som ger sammanhangsbaserad information om händelsens förekomst.

    Både händelsedata och kontextattribut kan användas för filtrering av händelser.

Event Grid på Kubernetes stöder CloudEvents-schemaspecifikation. Här är ett exempel på en händelse som använder CloudEvents-schemat. Event Grid stöder en händelse med en storlek på upp till 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"
      }
}]

Källa

Källattributet beskriver kontexten där händelsen inträffade. Källan kan vara händelsekällans upphovsman. I vissa fall finns det dock producenter som skapar och publicerar händelser. Och dessa producenter skiljer sig från källan. För enkelhetens skull förutsätter den här artikeln att källan är händelseproducenten.

Varje händelsekälla genererar händelser av en eller flera händelsetyper. Som källa för händelser definierar ett program en uppsättning relaterade händelser för att meddela dess tillståndsändringar. Varje händelse har gemensam information, till exempel källan till händelsen, tiden då händelsen ägde rum och en unik identifierare. Varje händelse har också specifik information som endast är relevant för den specifika typen av händelse. Stödet för en händelse med en storlek på upp till 1 MB är för närvarande i förhandsversion.

De egenskaper som ingår i en händelse finns i CloudEvents-schema.

Utgivare

Händelseutgivare är program eller system som skickar händelser till Event Grid ska levereras till händelseprenumeranter.

Ämnen

Ett ämne är en form av indatakanal som exponerar en slutpunkt som utgivare skickar händelser till Event Grid.

Ett ämne kan användas för en samling relaterade händelser. Du kan skapa ett ämne för varje kategori av relaterade händelser. I vissa fall kan källan användas för att organisera händelser i kategorier eftersom källor vanligtvis är associerade med en uppsättning nära relaterade händelsetyper ("MyApp.OrderCreated", "MyApp.OderDeleted", "MyApp.OrderRejected" och så vidare).

Överväg ett program som skickar händelser som rör hantering av användarkonton och bearbetningsordrar. Det är osannolikt att en händelseprenumerant är intresserad av att använda båda händelsekategorierna. Skapa två anpassade ämnen och låt händelsehanteraren prenumerera på det mest relevanta. För små lösningar kanske du föredrar att skicka alla händelser till ett enda ämne.

Händelseprenumeranter

Händelseprenumeranter är programvarusystem som mikrotjänster som exponerar slutpunkter som Event Grid levererar händelser till.

Prenumerationer på händelser

En händelseprenumeration meddelar Event Grid händelser i ett ämne som du är intresserad av att ta emot (händelsefiltrering) och var de ska skickas (händelsedirigering). När du skapar en händelseprenumeration anger du en slutpunkt för att hantera händelsen. Du kan välja de händelser som du vill ska levereras till slutpunkten genom att konfigurera filtersatser för händelseprenumerationen.

Händelsehanterare

En händelsehanterare är ett programvarusystem som exponerar en slutpunkt som händelser skickas till. Hanteraren tar emot händelsen och vidtar åtgärder för att bearbeta händelsen. Event Grid stöder flera hanterartyper. Som hanterare kan du använda en Azure-tjänst som stöds på Kubernetes eller Azure, eller en egen lösning som exponerar en web hook (slutpunkt) oavsett var den finns. Beroende på typen av hanterare följer Event Grid olika mekanismer för att garantera att händelsen levereras. Om målhändelsehanteraren är en HTTP-webknack, kommer händelsen att göra ett nytt mål tills hanteraren returnerar statuskoden 200 – OK. Mer information finns i Händelsehanterare.

SAS-autentisering

Event Grid på Kubernetes tillhandahåller SAS-nyckelbaserad autentisering för publicering av händelser till ämnen.

Händelseleverans

Event Grid på Kubernetes ger en tillförlitlig leverans- och återförsöksmekanism. Om Event Grid inte kan bekräfta att en händelse har tagits emot av händelsehanterarens slutpunkt, kommer händelsen att redeliversieras. Mer information finns i Event Grid och försök igen.

Batch-händelsepublicering

När du använder ett ämne måste händelser alltid publiceras i en matris. För scenarier med lågt dataflöde har matrisen bara en händelse. För användningsfall med hög volym rekommenderar vi att du batchar flera händelser tillsammans per publicering för att uppnå högre effektivitet. Batchar kan vara upp till 1 MB. Varje händelse bör fortfarande inte vara större än 1 MB. Mer information finns i Batch event delivery.

Event Grid på Kubernetes-komponenter

  • Operatorn Event Grid implementerar operatormönstret. Den söker efter tillståndsändringar av Event Grid resurser som ett resultat av kontrollplansbegäranden som görs till Kubernetes API-server. När det finns en begäran som påverkar tillståndet för någon Event Grid resurser synkroniserar Event Grid det tillståndet med Event Grid Broker.

  • Den Event Grid koordinatorn fungerar både som kontrollplans- och dataplansåtgärder.

    Som kontrollplanstjänst ansvarar den för att föra tillståndet för Event Grid till det önskade tillstånd som kommuniceras av Event Grid operatorn. När en begäran om att skapa ett nytt ämne exempelvis uppfylls begäran och tjänstens metadata uppdateras.

    Som en dataplanstjänst betjänar den alla begäranden om händelsepublicering och levererar händelser till sina mål som konfigurerats för händelseprenumerationer.

Nästa steg

Kom igång genom att gå till Skapa ämnen och prenumerationer.