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ı.

Ekinlikler

Olay, bir yazılım sisteminin işleyişiyle ilgili bir gerçeği duyuran bir veri kaydıdır. Genellikle, sistem tarafından tetiklenen bir sinyal veya sistem tarafından gözlemlenen bir sinyal nedeniyle bir olay 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 gerçekleştiği bağlamı açıklar. Kaynak, olayların kaynağı olabilir. Ancak bazı durumlarda, olayları oluşturan ve yayımlayan üreticiler vardır. Ve bu yapımcılar 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. Bir uygulama, olayların kaynağı olarak durum değişikliklerini duyurmak için ilgili olaylar kümesini 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 bir 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ı.

Yayımcılar

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

Konu başlıkları

Konu başlığı, yayımcıların Event Grid'e olay gönderdiği bir uç noktayı kullanıma sunan bir giriş kanalı biçimidir.

Konu, ilgili olaylar koleksiyonu için kullanılabilir. İlgili olayların her kategorisi için bir konu oluşturabilirsiniz. Bazı durumlarda, kaynaklar genellikle bir dizi yakından ilişkili olay türüyle ("MyApp.OrderCreated", "MyApp.OderDeleted", "MyApp.OrderRejected" vb.) ilişkilendirildiğinden, 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 kullanma olasılığı düşüktür. İki özel konu başlığı oluşturun ve olay işleyicilerinin ilgilendikleri konu başlığına abone olmaları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ın nereye gönderileceği (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 bir Azure hizmetini ya da barındırılan her yerde bir web kancası (uç nokta) sunan kendi çözümünüzü 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 kodunu 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.

Olay teslimi

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ın her zaman bir dizide yayımlanması gerekir. Düşük aktarım hızı senaryolarında 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 toplamanı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 bir 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 denetim düzlemi hizmeti olarak, Event Grid durumunu Event Grid Operatörü tarafından belirtilen istenen duruma getirmekten sorumludur. Örneğin, yeni bir konu oluşturmak için istekte bulunulduğunda bu istek yerine getirilir ve hizmet meta verileri güncelleştirilir.

    Veri düzlemi hizmeti olarak tüm olay yayımlama isteklerine hizmet eder ve olayları olay aboneliklerinde yapılandırılan hedeflerine teslim eder.

Sonraki adımlar

Başlamak için bkz. Konu başlıkları ve abonelikler oluşturma.