Azure Kubernetes dalam pemrosesan aliran peristiwa

Azure Kubernetes Service (AKS)
Azure IoT Hub
Azure Event Hubs
Azure Functions
Azure Cosmos DB

Ide solusi

Artikel ini menjelaskan ide solusi. Arsitek cloud Anda dapat menggunakan panduan ini untuk membantu memvisualisasikan komponen utama untuk implementasi umum arsitektur ini. Gunakan artikel ini sebagai titik awal untuk merancang solusi yang dirancang dengan baik yang selaras dengan persyaratan spesifik beban kerja Anda.

Artikel ini menjelaskan variasi arsitektur berbasis peristiwa tanpa server yang berjalan di Azure Kubernetes Service (AKS) dengan penskala KEDA. Solusi ini menyerap aliran data, memproses data, lalu menulis hasilnya ke database back-end.

Sistem

Diagram arsitektur memperlihatkan aliran data yang dijelaskan dalam artikel ini.

Unduh file Visio arsitektur ini.

Aliran data

  1. AKS dengan penskala KEDA digunakan untuk menskalakan otomatis kontainer Azure Functions berdasarkan jumlah peristiwa yang perlu diproses.
  2. Peristiwa tiba di Input Event Hub.
  3. Fungsi De-batching dan Pemfilteran Azure Functions dipicu untuk menangani peristiwa tersebut. Langkah ini memfilter peristiwa yang tidak diinginkan dan melakukan de-batching peristiwa yang diterima sebelum mengirimkannya ke Output Event Hub.
  4. Jika De-batching dan Penyaringan Azure Functions gagal menyimpan peristiwa dengan sukses, peristiwa akan dikirimkan ke Deadletter Event Hub 1.
  5. Peristiwa yang tiba di Event Hubs Output memicu Azure Functions dengan Kemampuan Mengubah. Fungsi Azure ini mengubah peristiwa menjadi pesan untuk instans Azure Cosmos DB.
  6. Peristiwa disimpan dalam database Azure Cosmos DB.

Komponen

  • Azure Kubernetes Service (AKS) menyederhanakan penyebaran kluster Kube yang terkelola di Azure dengan membongkar pembatasan operasional ke Azure. Sebagai layanan Kube yang dihosting, Azure menangani tugas-tugas penting, seperti pemantauan dan pemeliharaan kesehatan.
  • KEDAadalah autoscaler berbasis peristiwa yang digunakan untuk menskalakan kontainer di klaster Kubernetes berdasarkan jumlah peristiwa yang perlu diproses.
  • Azure Event Hubs menyerap aliran data. Azure Event Hubs dirancang untuk skenario aliran keluaran data tinggi.
  • Azure Functions adalah opsi komputasi tanpa server. Ini menggunakan model yang digerakkan oleh peristiwa, di mana sepotong kode (fungsi) dipanggil oleh pemicu.
  • Azure Cosmos DB adalah layanan database multi-model yang tersedia dalam mode berbasis konsumsi tanpa server. Untuk skenario ini, fungsi pemrosesan peristiwa menyimpan rekaman JSON, menggunakan Azure Cosmos DB untuk NoSQL.

Catatan

Untuk skenario Internet of Things (IoT), kami menyarankan Azure IoT Hub. IoT Hub memiliki titik akhir bawaan yang kompatibel dengan API Azure Event Hubs, sehingga Anda dapat menggunakan salah satu layanan dalam arsitektur ini tanpa perubahan besar dalam pemrosesan back-end. Untuk informasi selengkapnya, lihat Menghubungkan Perangkat IoT ke Azure: IoT Hub dan Event Hubs.

Detail skenario

Artikel ini menjelaskan arsitektur berbasis peristiwa tanpa server yang berjalan di AKS dengan penskala KEDA. Solusi ini menyerap aliran data, memproses data, lalu menulis hasilnya ke database back-end.

Untuk mempelajari selengkapnya tentang konsep dasar, pertimbangan, dan pendekatan untuk pemrosesan peristiwa tanpa server, lihat arsitektur referensi pemrosesan peristiwa tanpa server.

Potensi kasus penggunaan

Kasus penggunaan populer untuk menerapkan pola pemrosesan aliran peristiwa end-to-end mencakup layanan penyerapan streaming Azure Event Hubs untuk menerima dan memproses peristiwa per detik menggunakan logika de-batching dan transformasi yang diterapkan dengan fungsi yang sangat dapat diskalakan dan dipicu hub peristiwa.

Kontributor

Artikel ini dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.

Penulis utama:

Untuk melihat profil LinkedIn non-publik, masuk ke LinkedIn.

Langkah berikutnya