Pilih antara layanan Olahpesan Azure - Azure Event Grid, Azure Event Hubs, dan Azure Service Bus

Azure menawarkan tiga layanan yang membantu menyampaikan pesan atau kejadian di seluruh solusi. Layanan ini adalah: Azure Event Grid, Azure Event Hubs, Azure Bus Layanan.

Meskipun mereka memiliki beberapa kesamaan, setiap layanan dirancang untuk skenario tertentu. Artikel ini menjelaskan perbedaan antara layanan ini, dan membantu Anda memahami mana yang harus dipilih untuk aplikasi Anda. Dalam banyak kasus, layanan Olahpesan saling melengkapi dan dapat digunakan bersama.

Peristiwa vs. pesan

Ada perbedaan penting antara layanan yang menyampaikan kejadian dan layanan yang menyampaikan pesan.

Kejadian

Kejadian adalah pemberitahuan ringan tentang kondisi atau perubahan status. Penerbit kejadian tidak memiliki harapan tentang bagaimana kejadian ditangani. Konsumen kejadian memutuskan apa yang harus dilakukan dengan pemberitahuan. Kejadian dapat menjadi unit diskret atau bagian dari rangkaian.

Peristiwa diskrit melaporkan perubahan status dan dapat ditindaklanjuti. Untuk mengambil langkah selanjutnya, konsumen hanya perlu tahu bahwa sesuatu terjadi. Data kejadian memiliki informasi tentang apa yang terjadi tetapi tidak memiliki data yang memicu kejadian tersebut. Misalnya, suatu kejadian memberi tahu konsumen bahwa file telah dibuat. Ini mungkin memiliki informasi umum tentang file, tetapi tidak memiliki file itu sendiri. Kejadian diskret sangat ideal untuk solusi tanpa server yang perlu diskalakan.

Serangkaian peristiwa melaporkan kondisi dan dapat dianalisa. Kejadian tersebut sesuai dengan waktu dan saling terkait. Konsumen membutuhkan serangkaian kejadian berurutan untuk menganalisis apa yang terjadi.

Pesan

Pesan adalah data mentah yang dihasilkan oleh layanan yang akan dikonsumsi atau disimpan di tempat lain. Pesan berisi data yang memicu saluran pesan. Penerbit pesan memiliki harapan tentang bagaimana konsumen menangani pesan. Ada kontrak antara kedua belah pihak. Misalnya, penerbit mengirim pesan dengan data mentah, dan mengharapkan konsumen untuk membuat file dari data tersebut dan mengirim respons saat pekerjaan selesai.

Sekarang, mari kita tinjau dengan cepat apa itu Azure Event Grid, Azure Event Hubs, dan Azure Bus Layanan.

Kisi Aktivitas Azure

Azure Event Grid adalah layanan distribusi pesan Sub pesan Pub yang sangat dapat diskalakan dan dikelola sepenuhnya yang menawarkan pola konsumsi pesan fleksibel menggunakan protokol Message Queueing Telemetry Transport (MQTT) dan HTTP. Dengan Azure Event Grid, Anda dapat membangun alur data dengan data perangkat, mengintegrasikan aplikasi, dan membangun arsitektur tanpa server berbasis peristiwa.

Layanan ini menyediakan backbone peristiwa yang memungkinkan pemrograman berbasis peristiwa dan reaktif. Azure Event Grid menggunakan model terbitkan-berlangganan. Penerbit memancarkan kejadian, tetapi tidak mengharapkan tentang kejadian mana yang ditangani. Pelanggan memutuskan kejadian mana yang ingin mereka tangani.

Event Grid terintegrasi secara mendalam dengan layanan Azure lainnya dan dapat diintegrasikan dengan layanan pihak ketiga. Ini menyederhanakan konsumsi kejadian dan menurunkan biaya dengan menghilangkan kebutuhan untuk poling konstanta. Azure Event Grid secara efisien dan terpercaya merutekan kejadian dari sumber daya Azure dan non-Azure. Ini mendistribusikan kejadian ke titik akhir pelanggan terdaftar. Pesan kejadian memiliki informasi yang Anda butuhkan untuk bereaksi terhadap perubahan dalam layanan dan aplikasi. Azure Event Grid bukanlah saluran data, dan tidak memberikan objek aktual yang diperbarui.

Karakteristik yang dimiliki seperti berikut:

  • Dapat diskalakan secara dinamis
  • Biaya rendah
  • Tanpa server
  • Setidaknya satu kali pengiriman kejadian

Event Grid ditawarkan dalam dua edisi: Azure Event Grid, layanan PaaS yang dikelola sepenuhnya di Azure, dan Event Grid di Kubernetes dengan Azure Arc, yang memungkinkan Anda menggunakan Event Grid pada kluster Kubernetes di mana pun yang disebarkan, lokal, atau di cloud. Untuk informasi selengkapnya, lihat ringkasan Azure Event Grid dan ringkasan Event Grid di Kubernetes dengan Azure Arc.

Azure Event Hubs

Azure Event Hubs adalah platform streaming data besar dan layanan penyerapan peristiwa. Layanan ini dapat menerima dan memproses jutaan peristiwa per detik. Ini memfasilitasi pengambilan, retensi, dan pemutaran ulang data telemetri dan streaming kejadian. Data dapat berasal dari banyak sumber secara bersamaan. Event Hubs memungkinkan data telemetri dan kejadian tersedia untuk berbagai infrastruktur pemrosesan streaming dan layanan analitik. Ini tersedia baik sebagai aliran data atau bundel batch kejadian. Layanan ini menyediakan solusi tunggal yang memungkinkan pengambilan data yang cepat untuk pemrosesan real time serta pemutaran ulang berulang data mentah yang disimpan. Ini dapat menangkap data streaming ke dalam file untuk diproses dan analisis.

Karakteristik yang dimiliki seperti berikut:

  • Latensi rendah
  • Dapat menerima dan memproses jutaan kejadian per detik
  • Setidaknya satu kali pengiriman kejadian

Untuk informasi selengkapnya, lihat gambaran umum Event Hubs.

Azure Service Bus

Bus Layanan adalah perantara pesan perusahaan yang dikelola penuh dengan antrean pesan dan topik terbitkan-berlangganan. Layanan ini ditujukan untuk aplikasi perusahaan yang memerlukan transaksi, pemesanan, deteksi duplikat, dan konsistensi seketika. Azure Service Bus memungkinkan aplikasi cloud-native untuk menyediakan manajemen transisi status yang terpercaya untuk proses bisnis. Saat menangani pesan bernilai tinggi yang tidak dapat hilang atau diduplikasi, gunakan Azure Bus Layanan. Layanan ini juga memfasilitasi komunikasi yang sangat aman di seluruh solusi cloud hibrid dan dapat menghubungkan sistem lokal yang ada ke solusi cloud.

Azure Service Bus adalah sistem olahpesan yang diperantarai. Ini menyimpan pesan di "perantara" (misalnya, antrean) sampai pihak yang mengonsumsi siap untuk menerima pesan. Karakteristik yang dimiliki seperti berikut:

  • Pengiriman pesan asinkron yang andal (pesan perusahaan sebagai layanan) yang memerlukan polling. Jika Anda menggunakan Bus Layanan dan Anda perlu menerima pesan tanpa harus melakukan polling antrean, Anda dapat mencapainya dengan menggunakan operasi penerimaan polling panjang menggunakan protokol berbasis TCP yang Bus Layanan mendukung.
  • Fitur olahpesan tingkat lanjut seperti masuk pertama keluar pertama (FIFO), batching/sesi, transaksi, huruf mati, kontrol temporal, perutean dan pemfilteran, serta deteksi duplikat
  • Setidaknya satu kali pengiriman pesan
  • Pengiriman pesan opsional yang dipesan

Untuk informasi selengkapnya, lihat Gambaran umum Bus Layanan.

Perbandingan layanan

Tabel berikut membandingkan tiga layanan: Event Grid, Event Hubs, dan Bus Layanan.

Layanan Tujuan Jenis Waktu menggunakan
Event Grid Pemrograman reaktif Distribusi peristiwa (peristiwa diskrit) Bereaksi terhadap perubahan status
Event Hubs Big data pipeline Streaming kejadian (seri) Telemetri dan streaming data terdistribusi
Service Bus Olahpesan perusahaan bernilai tinggi Pesan Pemrosesan pesanan dan transaksi keuangan

Gunakan layanan bersama-sama

Dalam beberapa kasus, Anda menggunakan layanan berdampingan untuk memenuhi peran yang berbeda. Misalnya, situs e-niaga bisa menggunakan Azure Service Bus untuk memproses pesanan, Azure Event Hubs untuk mengambil telemetri situs, dan Azure Event Grid untuk menanggapi kejadian seperti item yang dikirim.

Dalam kasus lain, Anda menautkannya bersama-sama untuk membentuk saluran kejadian dan data. Anda menggunakan Azure Event Grid untuk menanggapi kejadian di layanan lain. Untuk contoh penggunaan Event Grid dengan Event Hubs untuk memigrasikan data ke Azure Synapse Analytics, lihat Mengalirkan big data ke Azure Synapse Analytics. Gambar berikut ini memperlihatkan alur kerja untuk streaming data.

Diagram memperlihatkan bagaimana Azure Event Hubs, Bus Layanan, dan Event Grid dapat dihubungkan bersama-sama.

Lihat artikel berikut: