Event Grid kubernetes - concepten

In dit artikel worden de belangrijkste concepten in Event Grid kubernetes met Azure Arc (preview) beschreven.

Belangrijk

Event Grid kubernetes met Azure Arc is momenteel in openbare preview. Deze preview-versie wordt aangeboden zonder service level agreement en wordt niet aanbevolen voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Supplemental Terms of Use for Microsoft Azure Previews (Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews) voor meer informatie.

Gebeurtenissen

Een gebeurtenis is een gegevensrecord waarmee een feit over de werking van een softwaresysteem wordt aangekondigd. Normaal gesproken kondigt een gebeurtenis een statuswijziging aan vanwege een signaal dat wordt verhoogd door het systeem of een signaal dat door het systeem wordt waargenomen. Gebeurtenissen bevatten twee soorten informatie:

  • Gebeurtenisgegevens die het optreden van een statuswijziging vertegenwoordigen.

  • Contextkenmerken die contextuele informatie bieden over het optreden van de gebeurtenis.

    Zowel gebeurtenisgegevens als contextkenmerken kunnen worden gebruikt voor het filteren van gebeurtenissen.

Event Grid kubernetes ondersteunt de schemaspecificatie van CloudEvents. Hier is een voorbeeld van een gebeurtenis die gebruikmaakt van het CloudEvents-schema. Event Grid ondersteunt een gebeurtenis van maximaal 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"
      }
}]

Bron

Het bronkenmerk beschrijft de context waarin de gebeurtenis heeft plaatsgevonden. De bron kan de oorsprong van gebeurtenissen zijn. In sommige gevallen zijn er echter producenten die gebeurtenissen maken en publiceren. En deze producenten verschillen van de bron. Voor het gemak wordt in dit artikel ervan uitgenomen dat de bron de producent van de gebeurtenissen is.

Elke gebeurtenisbron produceert gebeurtenissen van een of meer gebeurtenistypen. Als de bron van gebeurtenissen definieert een toepassing een reeks gerelateerde gebeurtenissen om de statuswijzigingen aan te kondigen. Elke gebeurtenis heeft algemene informatie, zoals de bron van de gebeurtenis, het tijdstip van de gebeurtenis en een unieke id. Elke gebeurtenis heeft ook specifieke informatie die alleen relevant is voor het specifieke type gebeurtenis. De ondersteuning voor een gebeurtenis van maximaal 1 MB is momenteel in preview.

Zie CloudEvents-schemavoor de eigenschappen die zijn opgenomen in een gebeurtenis.

Uitgevers

Gebeurtenisuitgevers zijn toepassingen of systemen die gebeurtenissen naar Event Grid worden geleverd aan gebeurtenisabonnees.

Onderwerpen

Een onderwerp is een vorm van invoerkanaal waarmee een eindpunt wordt gebruikt waarop uitgevers gebeurtenissen naar de Event Grid.

Een onderwerp kan worden gebruikt voor een verzameling gerelateerde gebeurtenissen. U kunt een onderwerp maken voor elke categorie gerelateerde gebeurtenissen. In sommige gevallen kan de bron worden gebruikt om gebeurtenissen te organiseren in categorieën, omdat bronnen meestal zijn gekoppeld aan een reeks nauw verwante gebeurtenistypen ('MyApp.OrderCreated', 'MyApp.OderDeleted', 'MyApp.OrderRejected', etc.).

Overweeg een toepassing die gebeurtenissen verzendt die betrekking hebben op het beheren van gebruikersaccounts en het verwerken van orders. Het is onwaarschijnlijk dat een gebeurtenisabonnee geïnteresseerd is in het gebruik van beide categorieën gebeurtenissen. Maak daarom twee aangepaste onderwerpen en laat gebeurtenis-handlers zich abonneren op het onderwerp dat hen interesseert. Voor kleine oplossingen wilt u mogelijk liever alle gebeurtenissen naar één onderwerp verzenden.

Gebeurtenisabonnees

Gebeurtenisabonnees zijn softwaresystemen zoals microservices die eindpunten beschikbaar stellen waaraan Event Grid gebeurtenissen levert.

Gebeurtenisabonnementen

Een gebeurtenisabonnement vertelt Event Grid welke gebeurtenissen in een onderwerp u wilt ontvangen (gebeurtenisfiltering) en waar u ze wilt verzenden (gebeurtenisroutering). Wanneer u een gebeurtenisabonnement maakt, geeft u een eindpunt op voor het verwerken van de gebeurtenis. U kunt de gebeurtenissen selecteren die u aan uw eindpunt wilt leveren door filterclausules te configureren voor het gebeurtenisabonnement.

Event Handlers

Een gebeurtenis-handler is een softwaresysteem dat een eindpunt beschikbaar maakt waarop gebeurtenissen worden verzonden. De handler ontvangt de gebeurtenis en ondergaat acties om de gebeurtenis te verwerken. Event Grid ondersteunt verschillende handlertypen. Als handler kunt u een ondersteunde Azure-service gebruiken die wordt gehost op Kubernetes of Azure, of uw eigen oplossing die een web hook (eindpunt) beschikbaar maakt waar die wordt gehost. Afhankelijk van het type handler volgt Event Grid verschillende mechanismen om de levering van de gebeurtenis te garanderen. Als de doelgebeurtenis-handler een HTTP-web-hook is, wordt de gebeurtenis opnieuw proberen totdat de handler de statuscode 200 - OK retourneert. Zie Gebeurtenis-handlers voor meer informatie.

SAS-verificatie

Event Grid kubernetes biedt verificatie op basis van SAS-sleutels voor het publiceren van gebeurtenissen naar onderwerpen.

Gebeurtenisverzending

Event Grid kubernetes biedt een betrouwbaar mechanisme voor levering en opnieuw proberen. Als Event Grid niet kan bevestigen dat een gebeurtenis is ontvangen door het eindpunt van de gebeurtenis-handler, wordt de gebeurtenis opnieuw uitverded. Zie voor meer informatie Event Grid berichtbezorging en opnieuw proberen.

Batchgebeurtenissen publiceren

Wanneer u een onderwerp gebruikt, moeten gebeurtenissen altijd worden gepubliceerd in een matrix. Voor scenario's met een lage doorvoer heeft de matrix slechts één gebeurtenis. Voor gebruiksgevallen met een hoog volume raden we u aan om verschillende gebeurtenissen per publicatie te batchen om een hogere efficiëntie te bereiken. Batches kunnen maximaal 1 MB zijn. Elke gebeurtenis mag nog steeds niet groter zijn dan 1 MB. Zie Batch-gebeurtenislevering voor meer informatie.

Event Grid kubernetes-onderdelen

  • De Event Grid implementeert het operatorpatroon. Het controleert op statuswijzigingen van Event Grid resources als gevolg van aanvragen van het besturingsvlak op de API-server van Kubernetes. Wanneer er een aanvraag is die van invloed is op de status van een van Event Grid-resources, synchroniseert de Event Grid-operator die status met de Event Grid Broker.

  • De Event Grid broker fungeert als besturingsvlak en gegevensvlakbewerkingen.

    Als besturingsvlakservice is het verantwoordelijk voor het instellen van de status van Event Grid status die wordt gecommuniceerd door de Event Grid Operator. Wanneer er bijvoorbeeld een aanvraag wordt ingediend om een nieuw onderwerp te maken, wordt aan die aanvraag voldoet en worden de metagegevens van de service bijgewerkt.

    Als gegevensvlakservice worden alle aanvragen voor gebeurtenispublicaties en gebeurtenissen aan hun bestemmingen bezorgen die zijn geconfigureerd op gebeurtenisabonnementen.

Volgende stappen

Zie Onderwerpen en abonnementen maken om aan de slag te gaan.