Kubernetes'te Event Grid - Kavramlar

Bu makalede Azure Arc (Önizleme) ile Kubernetes üzerinde Event Grid'deki ana kavramlar açıklanmaktadır.

Önemli

Azure Arc ile Kubernetes üzerinde Event Grid şu anda genel önizleme aşamasındadır. Önizleme sürümü bir hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yüklerinde kullanılması önerilmez. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.

Etkinlikler

Olay, bir yazılım sisteminin işleyişiyle ilgili bir gerçeği duyuran bir veri kaydıdır. Genellikle bir olay, sistem tarafından tetiklenen bir sinyal veya sistem tarafından gözlemlenen bir sinyal nedeniyle durum değişikliğini duyurur. Olaylar iki tür bilgi içerir:

  • Durum değişikliğinin oluşumunu temsil eden olay verileri.

  • Olayın oluşumu hakkında bağlamsal bilgiler sağlayan bağlam öznitelikleri.

    Olayları filtrelemek için hem olay verileri hem de bağlam öznitelikleri kullanılabilir.

Kubernetes'te Event Grid , CloudEvents şema belirtimlerini destekler. CloudEvents şemasını kullanan bir olay örneği aşağıda verilmiştir. Event Grid, boyutu 1 MB'a kadar olan bir olayı destekler.

[{
       "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"
      }
}]

Kaynak

Kaynak özniteliği, olayın oluştuğu bağlamı açıklar. Kaynak, olayların kaynağı olabilir. Ancak bazı durumlarda olayları oluşturan ve yayımlayan üreticiler vardır. Ve bu üreticiler kaynaktan farklıdır. Kolaylık olması için, bu makalede kaynağın olayların üreticisi olduğu varsayılır.

Her olay kaynağı bir veya daha fazla olay türünde olaylar üretir. Olayların kaynağı olarak, bir uygulama durum değişikliklerini duyurmak için bir dizi ilgili olayı tanımlar. Her olay, olayın kaynağı, olayın gerçekleştiği zaman ve benzersiz bir tanımlayıcı gibi ortak bilgilere sahiptir. Her olayın yalnızca belirli olay türüyle ilgili belirli bilgileri de vardır. Boyutu 1 MB'a kadar olan bir olay için destek şu anda önizleme aşamasındadır.

Bir olaya dahil edilen özellikler için bkz. CloudEvents şeması.

Publishers

Olay yayımcıları, olay abonelerine teslim edilmesi için Event Grid'e olay gönderen uygulamalar veya sistemlerdir.

Konular

Bir "konu," yayıcıların olayları Event Grid'e göndermesi için bir uç nokta sağlayan bir girdi kanalı türüdür.

İlgili olaylar koleksiyonu için bir konu kullanılabilir. İlgili olayların her kategorisi için bir konu oluşturabilirsiniz. Bazı durumlarda, kaynaklar genellikle bir dizi yakın ilişkili olay türüyle ("MyApp.OrderCreated", "MyApp.OderDeleted", "MyApp.OrderRejected" vb.) ilişkilendirildiğinden, kaynak olayları kategoriler halinde düzenlemek için kullanılabilir.

Kullanıcı hesaplarını yönetme ve siparişleri işlemeyle ilgili olayları gönderen bir uygulama düşünün. Olay abonesinin her iki olay kategorisini de kullanmayla ilgilenme olasılığı düşüktür. İki özel konu oluşturun ve olay işleyicilerinin ilgilerini çeken konuya abone olmasına izin verin. Küçük çözümler için tüm olayları tek bir konuya göndermeyi tercih edebilirsiniz.

Olay aboneleri

Olay aboneleri, Event Grid'in olayları teslim ettiği uç noktaları kullanıma sunan mikro hizmetler gibi yazılım sistemleridir.

Olay abonelikleri

Olay aboneliği, Event Grid'e bir konuda hangi olayları almak istediğinizi (olay filtreleme) ve bunları nereye gönderebileceğinizi (olay yönlendirme) bildirir. Olay aboneliği oluştururken, olayı işlemek için bir uç nokta sağlarsınız. Olay aboneliğinde filtre yan tümcelerini yapılandırarak uç noktanıza teslim etmek istediğiniz olayları seçebilirsiniz.

Olay işleyicileri

Olay işleyicisi, olayların gönderildiği bir uç noktayı kullanıma sunan bir yazılım sistemidir. İşleyici olayı alır ve olayı işlemek için eylemler gerçekleştirir. Event Grid çeşitli işleyici türlerini destekler. İşleyici olarak, Kubernetes veya Azure'da barındırılan desteklenen Azure hizmetlerinden birini ya da web kancasını (uç nokta) ortaya çıkaran kendi çözümünüzü, nerede barındırılırsa barındırılsın, kullanabilirsiniz. İşleyici türüne bağlı olarak Event Grid, olayın teslimini garanti etmek için farklı mekanizmalar izler. Hedef olay işleyicisi bir HTTP web kancasıysa, işleyici 200 – Tamam durum kodu döndürene kadar olay yeniden denendi. Daha fazla bilgi için bkz . Olay işleyicileri.

SAS kimlik doğrulaması

Kubernetes'te Event Grid, olayları konulara yayımlamak için SAS anahtar tabanlı kimlik doğrulaması sağlar.

Etkinlik yönetimi

Kubernetes'te Event Grid güvenilir bir teslim ve yeniden deneme mekanizması sağlar. Event Grid olay işleyicisi uç noktası tarafından bir olayın alındığını onaylayamazsa olayı yeniden teslim eder. Daha fazla bilgi için bkz . Event Grid ileti teslimi ve yeniden deneme.

Toplu olay yayımlama

Bir konu başlığı kullandığınızda, olaylar her zaman bir dizide yayımlanmalıdır. Düşük aktarım hızı senaryoları için dizide yalnızca bir olay olur. Yüksek hacimli kullanım örnekleri için, daha yüksek verimlilik elde etmek için yayımlama başına birkaç olayı birlikte toplu olarak çalıştırmanızı öneririz. Toplu işlemler 1 MB'a kadar olabilir. Her olay yine de 1 MB'tan büyük olmamalıdır. Daha fazla bilgi için bkz . Batch olay teslimi.

Kubernetes bileşenlerinde Event Grid

  • Event Grid işleciİşleç desenini uygular. Kubernetes'in API Sunucusuna yapılan denetim düzlemi isteklerinin sonucu olarak Event Grid kaynaklarının durum değişikliklerini izler. Event Grid kaynaklarından herhangi birinin durumunu etkileyen bir istek olduğunda, Event Grid işleci bu durumu Event Grid Aracısı ile eşitler.

  • Event Grid aracısı hem denetim düzlemi hem de veri düzlemi işlemleri görevi görür.

    Bir kontrol düzlemi hizmeti olarak, Event Grid'in durumunu, Event Grid Operatörü tarafından belirtilen istenen duruma getirmekten sorumludur. Örneğin, yeni bir konu oluşturma isteğinde bulunulduğunda bu istek yerine getirilir ve hizmet meta verileri güncelleştirilir.

    Veri düzlemi hizmeti (Data Plane Service) olarak tüm olay yayımlama taleplerine yanıt verir ve olayları, olay abonelikleri üzerinden yapılandırılmış hedeflerine teslim eder.

Sonraki Adımlar

Başlamak için bkz. Konu ve abonelik oluşturma.