Event Grid na platformie Kubernetes — pojęcia

W tym artykule opisano główne pojęcia dotyczące usługi Event Grid na platformie Kubernetes z usługą Azure Arc (wersja zapoznawcza).

Ważne

Usługa Event Grid na platformie Kubernetes z usługą Azure Arc jest obecnie dostępna w publicznej wersji zapoznawczej. Ta wersja zapoznawcza nie jest objęta umową dotyczącą poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.

Zdarzenia

Zdarzenie to rekord danych, który ogłasza fakt działania systemu oprogramowania. Zazwyczaj zdarzenie ogłasza zmianę stanu z powodu sygnału podniesionego przez system lub sygnału obserwowanego przez system. Zdarzenia zawierają dwa typy informacji:

  • Dane zdarzenia reprezentujące wystąpienie zmiany stanu.

  • Atrybuty kontekstu , które zapewniają kontekstowe informacje o wystąpieniu zdarzenia.

    Zarówno dane zdarzenia, jak i atrybuty kontekstu mogą służyć do filtrowania zdarzeń.

Usługa Event Grid na platformie Kubernetes obsługuje specyfikację schematu CloudEvents . Oto przykład zdarzenia, które używa schematu CloudEvents. Usługa Event Grid obsługuje zdarzenie o rozmiarze do 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"
      }
}]

Źródło

Atrybut źródłowy opisuje kontekst, w którym wystąpiło zdarzenie. Źródłem mogą być źródła zdarzeń. Jednak w niektórych przypadkach istnieją producenci, którzy tworzą i publikują zdarzenia. I producenci ci różnią się od źródła. Dla uproszczenia w tym artykule przyjęto założenie, że źródło jest producentem zdarzeń.

Każde źródło zdarzeń generuje zdarzenia jednego lub większej liczby typów zdarzeń. Jako źródło zdarzeń aplikacja definiuje zestaw powiązanych zdarzeń w celu ogłaszania zmian stanu. Każde zdarzenie ma typowe informacje, takie jak źródło zdarzenia, czas zdarzenia i unikatowy identyfikator. Każde zdarzenie ma również określone informacje, które są istotne tylko dla określonego typu zdarzenia. Obsługa zdarzenia o rozmiarze do 1 MB jest obecnie dostępna w wersji zapoznawczej.

Aby uzyskać informacje o właściwościach uwzględnionych w zdarzeniu, zobacz Schemat CloudEvents.

Wydawcy

Wydawcy zdarzeń to aplikacje lub systemy wysyłające zdarzenia do usługi Event Grid, które mają być dostarczane do subskrybentów zdarzeń.

Tematy

Temat jest formą kanału wejściowego, który uwidacznia punkt końcowy, do którego wydawcy wysyłają zdarzenia do usługi Event Grid.

Temat może służyć do zbierania powiązanych zdarzeń. Można utworzyć temat dla każdej kategorii powiązanych zdarzeń. W niektórych przypadkach źródło może służyć do organizowania zdarzeń w kategorie, ponieważ źródła są zwykle skojarzone z zestawem ściśle powiązanych typów zdarzeń ("MyApp.OrderCreated", "MyApp.OderDeleted", "MyApp.OrderRejected" itd.).

Rozważmy aplikację, która wysyła zdarzenia związane z zarządzaniem kontami użytkowników i przetwarzaniem zamówień. Jest mało prawdopodobne, aby subskrybent zdarzenia był zainteresowany korzystaniem z obu kategorii zdarzeń. Utwórz dwa tematy niestandardowe, a procedury obsługi zdarzeń subskrybują temat, którymi są zainteresowane. W przypadku małych rozwiązań wolisz wysyłać wszystkie zdarzenia do jednego tematu.

Subskrybenci zdarzeń

Subskrybenci zdarzeń to systemy oprogramowania, takie jak mikrousługi, które uwidaczniają punkty końcowe, do których usługa Event Grid dostarcza zdarzenia.

Subskrypcje zdarzeń

Subskrypcja zdarzeń informuje usługę Event Grid o zdarzeniach w temacie, które cię interesują (filtrowanie zdarzeń) i gdzie mają być wysyłane (routing zdarzeń). Podczas tworzenia subskrypcji zdarzeń należy podać punkt końcowy do obsługi zdarzenia. Możesz wybrać zdarzenia, które mają zostać dostarczone do punktu końcowego, konfigurując klauzule filtru w subskrypcji zdarzeń.

Procedury obsługi zdarzeń

Procedura obsługi zdarzeń to system oprogramowania, który uwidacznia punkt końcowy, do którego są wysyłane zdarzenia. Procedura obsługi odbiera zdarzenie i podejmuje akcje w celu przetworzenia zdarzenia. Usługa Event Grid obsługuje kilka typów procedur obsługi. Jako program obsługi możesz użyć obsługiwanej usługi platformy Azure hostowanej na platformie Kubernetes lub Azure albo własnego rozwiązania, które uwidacznia element webhook (punkt końcowy), niezależnie od tego, gdzie jest hostowane. W zależności od typu procedury obsługi usługa Event Grid jest zgodna z różnymi mechanizmami w celu zagwarantowania dostarczania zdarzenia. Jeśli docelowa procedura obsługi zdarzeń jest elementem webhook PROTOKOŁU HTTP, zdarzenie jest ponawiane, dopóki program obsługi nie zwróci kodu stanu 200 – OK. Aby uzyskać więcej informacji, zobacz Procedury obsługi zdarzeń.

Uwierzytelnianie sygnatury dostępu współdzielonego

Usługa Event Grid na platformie Kubernetes zapewnia uwierzytelnianie oparte na kluczach sygnatury dostępu współdzielonego na potrzeby publikowania zdarzeń w tematach.

Dostarczanie zdarzeń

Usługa Event Grid na platformie Kubernetes zapewnia niezawodny mechanizm dostarczania i ponawiania prób. Jeśli usługa Event Grid nie może potwierdzić, że zdarzenie zostało odebrane przez punkt końcowy programu obsługi zdarzeń, ponownie dostarcz zdarzenie. Aby uzyskać więcej informacji, zobacz Event Grid message delivery and retry (Dostarczanie komunikatów usługi Event Grid i ponawianie próby).

Publikowanie zdarzeń usługi Batch

W przypadku korzystania z tematu zdarzenia muszą być zawsze publikowane w tablicy. W przypadku scenariuszy o niskiej przepływności tablica będzie miała tylko jedno zdarzenie. W przypadku przypadków użycia o dużej ilości zaleca się dzielenie kilku zdarzeń jednocześnie na publikowanie w celu osiągnięcia wyższej wydajności. Partie mogą mieć maksymalnie 1 MB. Każde zdarzenie nadal nie powinno być większe niż 1 MB. Aby uzyskać więcej informacji, zobacz Batch event delivery (Dostarczanie zdarzeń usługi Batch).

Usługa Event Grid w składnikach platformy Kubernetes

  • Operator usługi Event Grid implementuje wzorzec operatora. Obserwuje zmiany stanu zasobów usługi Event Grid w wyniku żądań płaszczyzny sterowania wysyłanych do serwera interfejsu API platformy Kubernetes. Jeśli istnieje żądanie wpływające na stan dowolnego zasobu usługi Event Grid, operator usługi Event Grid synchronizuje ten stan z brokerem usługi Event Grid.

  • Broker usługi Event Grid służy zarówno jako płaszczyzna sterowania, jak i operacje płaszczyzny danych.

    Jako usługa płaszczyzny sterowania jest odpowiedzialna za przeniesienie stanu usługi Event Grid do żądanego stanu przekazanego przez operatora usługi Event Grid. Na przykład po wysłaniu żądania utworzenia nowego tematu zostanie ono spełnione, a metadane usługi zostaną zaktualizowane.

    Jako usługa płaszczyzny danych obsługuje wszystkie żądania publikowania zdarzeń i dostarcza zdarzenia do ich miejsc docelowych skonfigurowanych w subskrypcjach zdarzeń.

Następne kroki

Aby rozpocząć pracę, zobacz Tworzenie tematów i subskrypcji.