Event Grid på Kubernetes – begrepp

Den här artikeln beskriver huvudbegreppen i Event Grid på Kubernetes med Azure Arc (förhandsversion).

Viktigt

Event Grid på Kubernetes med Azure Arc finns 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. Vanligtvis meddelar en händelse en tillståndsändring på grund av en signal som genereras av systemet eller en signal som observeras av systemet. Händelser innehåller två typer av information:

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

  • Kontextattribut som ger sammanhangsberoende 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 upphovsmän till händelser. 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 producent för händelserna.

Varje händelsekälla skapar 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 sina tillståndsändringar. Varje händelse har gemensam information, till exempel källan till händelsen, tidpunkten 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öd 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 som 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 till.

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 bearbetning av beställningar. 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 talar om för Event Grid vilka händelser i ett ämne som du är intresserad av att ta emot (händelsefiltrering) och vart de ska skickas (händelsedirigering). När du skapar en händelseprenumeration anger du en slutpunkt för hantering av 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 din egen lösning som exponerar en webbhook (slutpunkt) oavsett var den finns. Beroende på typen av hanterare följer Event Grid olika mekanismer för att garantera leveransen av händelsen. Om målhändelsehanteraren är en HTTP-webbhook görs ett nytt försök 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ändelsehanterarslutpunkten, förtvinar den händelsen. Mer information finns i Leverans av Event Grid-meddelanden 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 stora volymer rekommenderar vi att du batchar flera händelser 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-händelseleverans.

Event Grid på Kubernetes-komponenter

  • Event Grid-operatorn implementerar mönstret Operator. Den söker efter tillståndsändringar av Event Grid-resurser som ett resultat av kontrollplansbegäranden som gjorts till Kubernetes API Server. När det finns en begäran som påverkar tillståndet för någon av Event Grid-resurser synkroniserar Event Grid-operatören det tillståndet med Event Grid Broker.

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

    Som en kontrollplanstjänst ansvarar den för att föra tillståndet för Event Grid till önskat tillstånd som förmedlas av Event Grid-operatören. När till exempel en begäran görs om att skapa ett nytt ämne uppfyller den begäran och tjänstens metadata uppdateras.

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

Nästa steg

Kom igång genom att läsa Skapa ämnen och prenumerationer.