Event Grid di Kubernetes - Konsep

Artikel ini menjelaskan konsep utama di Event Grid di Kubernetes dengan Azure Arc (Preview).

Penting

Event Grid di Kubernetes dengan Azure Arc saat ini sedang dalam pratinjau publik. Versi pratinjau ini diberikan tanpa perjanjian tingkat layanan dan tidak disarankan untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas. Untuk informasi lebih lanjut, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

Acara

Peristiwa adalah rekaman data yang mengumumkan fakta tentang pengoperasian sistem perangkat lunak. Biasanya, suatu peristiwa mengumumkan perubahan status karena sinyal yang dinaikkan oleh sistem atau sinyal yang diamati oleh sistem. Peristiwa berisi dua jenis informasi:

  • Data peristiwa yang menunjukkan terjadinya perubahan status.

  • Atribut kontekstual yang memberikan informasi kontekstual tentang terjadinya peristiwa tersebut.

    Data peristiwa dan atribut konteks dapat digunakan untuk memfilter peristiwa.

Event Grid di Kubernetes mendukung spesifikasi skema CloudEvents. Berikut ini contoh peristiwa yang menggunakan skema CloudEvents. Event Grid mendukung peristiwa berukuran hingga 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"
      }
}]

Sumber

Atribut sumber menjelaskan konteks saat peristiwa terjadi. Sumbernya mungkin asal peristiwa. Namun, dalam beberapa kasus, ada produsen yang membuat dan menerbitkan peristiwa. Dan, produser ini berbeda dari sumbernya. Untuk kesederhanaan, artikel ini mengasumsikan bahwa sumbernya adalah produser peristiwa.

Setiap sumber peristiwa menghasilkan peristiwa dari satu atau beberapa jenis peristiwa. Sebagai sumber peristiwa, aplikasi mendefinisikan serangkaian peristiwa terkait untuk mengumumkan perubahan statusnya. Setiap peristiwa memiliki informasi umum seperti: sumber peristiwa, waktu peristiwa berlangsung, dan pengidentifikasi unik. Setiap peristiwa juga memiliki informasi spesifik yang hanya relevan dengan jenis peristiwa tertentu. Dukungan untuk acara berukuran hingga 1 MB saat ini dalam pratinjau.

Untuk properti yang disertakan dalam suatu peristiwa, lihat skema CloudEvents.

Penerbit

Penerbit peristiwa adalah aplikasi atau sistem yang mengirim peristiwa ke Event Grid untuk dikirimkan kepada pelanggan peristiwa.

Topik

Topik adalah bentuk saluran input yang mengekspos titik akhir tempat penerbit mengirim peristiwa ke Event Grid.

Topik digunakan untuk kumpulan peristiwa terkait. Anda dapat membuat topik untuk setiap kategori peristiwa terkait. Dalam beberapa kasus, sumber dapat digunakan untuk mengatur peristiwa ke dalam kategori karena sumber biasanya dikaitkan dengan serangkaian jenis peristiwa yang terkait erat ("MyApp.OrderCreated", "MyApp.OderDeleted", "MyApp.OrderRejected", dan sebagainya).

Pertimbangkan aplikasi yang mengirimkan peristiwa terkait dengan mengelola akun pengguna dan memproses pesanan. Tidak mungkin pelanggan peristiwa tertarik untuk menggunakan kedua kategori peristiwa. Buat dua topik khusus dan biarkan penangan kejadian berlangganan yang menarik bagi mereka. Untuk solusi kecil, Anda mungkin lebih suka mengirim semua peristiwa ke satu topik.

Pelanggan peristiwa

Pelanggan peristiwa adalah sistem perangkat lunak seperti layanan mikro yang mengekspos titik akhir tempat Event Grid memberikan peristiwa.

Langganan kejadian

Langganan peristiwa memberi tahu Event Grid peristiwa mana pada topik yang Anda minati untuk menerima (pemfilteran peristiwa) dan tempat mengirimnya (perutean peristiwa). Saat membuat langganan peristiwa, Anda menyediakan titik akhir untuk menangani peristiwa. Anda dapat memilih peristiwa yang ingin dikirimkan ke titik akhir dengan mengonfigurasi klausa filter pada langganan peristiwa.

Penangan kejadian

Penanganan aktivitas adalah sistem perangkat lunak yang mengekspos titik akhir lokasi peristiwa dikirim. Penangan menerima peristiwa dan mengambil tindakan untuk memproses peristiwa. Event Grid mendukung beberapa jenis pengatur. Sebagai penangan, Anda dapat menggunakan layanan Azure yang didukung yang dihosting di Kubernetes atau Azure, atau solusi Anda sendiri yang mengekspos web hook (titik akhir) di mana pun dihosting. Tergantung pada jenis pengatur, Event Grid mengikuti mekanisme yang berbeda untuk menjamin pengiriman acara. Jika penanganan aktivitas tujuan adalah web hook HTTP, peristiwa dicoba kembali hingga penangan mengembalikan kode status 200 – OK. Untuk mengetahui informasi selengkapnya, lihat Penanganan aktivitas.

Autentikasi SAS

Event Grid pada Kubernetes menyediakan autentikasi berbasis kunci SAS untuk menerbitkan peristiwa ke topik.

Pengiriman acara

Event Grid di Kubernetes menyediakan mekanisme pengiriman dan coba lagi yang andal. Jika Event Grid tidak dapat mengonfirmasi bahwa peristiwa telah diterima oleh titik akhir penanganan aktivitas, Event Grid akan mengonfirmasi peristiwa tersebut. Untuk informasi selengkapnya, lihat Pengiriman pesan Event Grid dan coba lagi.

Penerbitan peristiwa batch

Saat Anda menggunakan topik, peristiwa harus selalu diterbitkan dalam array. Untuk skenario throughput rendah, array hanya akan memiliki satu peristiwa. Untuk kasus penggunaan volume tinggi, kami sarankan Anda mengumpulkan beberapa acara bersama-sama per penerbitan untuk mencapai efisiensi yang lebih tinggi. Batch bisa hingga 1 MB. Setiap peristiwa tidak boleh lebih besar dari 1 MB. Untuk mengetahui informasi selengkapnya, lihat Melakukan batch pengiriman peristiwa.

Event Grid di komponen Kubernetes

  • Operator Event Grid menerapkan Pola operator. Ini mengawasi perubahan status sumber daya Event Grid sebagai akibat dari permintaan sarana kontrol yang dibuat ke API Server Kubernetes. Ketika ada permintaan yang memengaruhi status salah satu sumber daya Event Grid, operator Event Grid menyinkronkan status tersebut dengan Event Grid Broker.

  • Broker Event Grid berfungsi sebagai operasi sarana kontrol dan sarana data.

    Sebagai layanan sarana kontrol, ia bertanggung jawab untuk membawa status Event Grid ke status yang diinginkan yang dikomunikasikan oleh Operator Event Grid. Misalnya, saat permintaan dibuat untuk membuat topik baru, permintaan tersebut terpenuhi dan metadata layanan diperbarui.

    Sebagai layanan sarana data, layanan ini melayani semua permintaan penerbitan peristiwa dan mengirimkan peristiwa ke tujuan yang dikonfigurasi pada langganan peristiwa.

Langkah berikutnya

Untuk memulai, lihat Membuat topik dan langganan.