Bagikan melalui


Gambaran umum fitur broker MQTT di Azure Event Grid

Azure Event Grid memungkinkan klien Message Queuing Telemetry Transport (MQTT) Anda untuk berkomunikasi satu sama lain dan dengan layanan Azure untuk mendukung solusi Internet of Things (IoT) Anda. Anda dapat menggunakan fitur broker Azure Event Grid MQTT untuk menyelesaikan skenario berikut. Untuk sampel kode yang menunjukkan skenario ini, lihat repositori ini.

  • Serap telemetri dengan menggunakan pola olahpesan banyak ke satu. Pola ini memungkinkan aplikasi untuk membongkar beban pengelolaan jumlah koneksi yang tinggi dengan perangkat ke Event Grid.
  • Kontrol klien MQTT Anda dengan menggunakan pola olahpesan respons permintaan (satu-ke-satu). Pola ini memungkinkan klien untuk berkomunikasi dengan klien lain tanpa batasan, terlepas dari peran klien.
  • Menyiarkan pemberitahuan ke armada klien dengan menggunakan pola olahpesan satu-ke-banyak. Pola ini memungkinkan aplikasi untuk menerbitkan hanya satu pesan yang direplikasi layanan untuk setiap klien yang tertarik.
  • Integrasikan data dari klien MQTT Anda dengan merutekan pesan MQTT ke layanan dan webhook Azure melalui fungsionalitas pengiriman HTTP Push. Anda dapat menggunakan integrasi ini dengan layanan Azure untuk membangun alur data yang dimulai dengan penyerapan data dari perangkat IoT Anda.

Broker MQTT sangat ideal untuk penerapan skenario otomotif, mobilitas, dan manufaktur, antara lain. Untuk mempelajari cara membangun solusi yang aman dan dapat diskalakan untuk menghubungkan jutaan klien MQTT ke cloud dengan menggunakan layanan olahpesan dan analitik data Azure, lihat arsitektur referensi otomotif dan manufaktur .

Diagram Event Grid tingkat tinggi yang menunjukkan komunikasi MQTT dua arah dengan klien penerbit dan pelanggan.

Konsep kunci

Konsep utama berikut terlibat dalam fitur broker Event Grid MQTT.

MQTT

MQTT adalah protokol pesan publikasi-berlangganan yang dirancang untuk lingkungan terbatas. Ini adalah standar komunikasi populer untuk skenario IoT karena efisiensi, skalabilitas, dan keandalan. Broker MQTT memungkinkan klien untuk menerbitkan dan berlangganan pesan melalui MQTT v3.1.1, MQTT v3.1.1 melalui WebSocket, MQTT v5, dan MQTT v5 melalui WebSocket. Daftar berikut menunjukkan beberapa sorotan fitur broker MQTT:

  • Fitur MQTT v5:

    • Wasiat dan Perjanjian Terakhir: Memberi tahu klien MQTT Anda tentang pemutusan sambungan mendadak klien MQTT lainnya. Anda dapat menggunakan fitur ini untuk memastikan alur komunikasi yang dapat diprediksi dan dapat diandalkan di antara klien MQTT selama pemutusan sambungan yang tidak terduga.
    • Properti pengguna: Memungkinkan Anda menambahkan pasangan kunci/nilai kustom di header pesan untuk memberikan konteks lebih lanjut tentang pesan tersebut. Misalnya, sertakan tujuan atau asal pesan sehingga penerima dapat menangani pesan secara efisien.
    • Pola respons permintaan: Memungkinkan klien Anda memanfaatkan pola asinkron respons permintaan standar, menentukan topik respons dan ID korelasi dalam permintaan klien untuk merespons tanpa konfigurasi sebelumnya.
    • Interval kedaluwarsa pesan: Memungkinkan Anda mendeklarasikan ke broker MQTT kapan harus mengalihkan pesan yang tidak lagi relevan atau valid. Contohnya termasuk mengalihkan perintah atau pemberitahuan kedaluarsa.
    • Alias topik: Membantu klien Anda mengurangi ukuran bidang topik, yang membuat transfer data lebih murah.
    • Ukuran pesan maksimum: Memungkinkan klien Anda mengontrol ukuran pesan maksimum yang dapat mereka tangani dari server.
    • Terima maksimum: Memungkinkan klien Anda mengontrol tingkat pesan tergantung pada kemampuannya, seperti kecepatan pemrosesan atau kemampuan penyimpanan.
    • Kedaluwarsa mulai dan sesi yang bersih: Memungkinkan klien Anda mengoptimalkan keandalan dan keamanan sesi dengan mempertahankan informasi dan pesan langganan klien untuk interval waktu yang dapat dikonfigurasi.
    • Pengakuan negatif: Memungkinkan klien Anda bereaksi secara efisien terhadap kode kesalahan yang berbeda.
    • Paket pemutusan sambungan yang dikirim server: Memungkinkan klien Anda menangani pemutusan sambungan secara efisien.
    • MQTT Retain: Memastikan bahwa broker menyimpan pesan terakhir yang diterbitkan pada topik dan secara otomatis mengirimkannya ke pelanggan baru. Fitur ini memungkinkan perangkat untuk langsung menerima status terbaru yang diketahui tanpa menunggu pembaruan berikutnya. Kemampuan ini memungkinkan sinkronisasi status yang lebih cepat dan lebih andal di seluruh sistem IoT.
  • Fitur MQTT v3.1.1:

    • Wasiat dan Perjanjian Terakhir: Memberi tahu klien MQTT Anda tentang pemutusan sambungan mendadak klien MQTT lainnya. Anda dapat menggunakan fitur ini untuk memastikan alur komunikasi yang dapat diprediksi dan dapat diandalkan di antara klien MQTT selama pemutusan sambungan yang tidak terduga.
    • Sesi persisten: Memastikan keandalan dengan mempertahankan informasi dan pesan langganan klien saat klien terputus.
    • Quality of Service (QoS) 0 dan 1: Memberi klien Anda kontrol atas efisiensi dan keandalan komunikasi.
    • MQTT Retain: Memastikan bahwa broker menyimpan pesan terakhir yang diterbitkan pada topik dan secara otomatis mengirimkannya ke pelanggan baru. Fitur ini memungkinkan perangkat untuk langsung menerima status terbaru yang diketahui tanpa menunggu pembaruan berikutnya. Kemampuan ini memungkinkan sinkronisasi status yang lebih cepat dan lebih andal di seluruh sistem IoT.

Bagian berikut menjelaskan perbedaan saat ini antara fitur yang didukung oleh broker MQTT dan spesifikasi MQTT v5. QoS 2 tidak didukung.

Pelajari selengkapnya tentang broker MQTT dan batasan saat ini.

Model olahpesan terbitkan-berlangganan

Model olahpesan terbitkan-berlangganan menyediakan komunikasi yang dapat diskalakan dan asinkron kepada klien. Ini memungkinkan klien untuk membongkar beban penanganan sejumlah besar koneksi dan pesan ke layanan. Melalui model olahpesan terbitkan-berlangganan, klien Anda dapat berkomunikasi secara efisien dengan menggunakan pola olahpesan satu-ke-banyak, banyak-ke-satu, dan satu-ke-satu:

  • Satu-ke-banyak: Memungkinkan klien menerbitkan hanya satu pesan yang direplikasi layanan untuk setiap klien yang tertarik.
  • Banyak ke satu: Memungkinkan klien untuk membongkar beban pengelolaan jumlah koneksi yang tinggi ke broker MQTT.
  • Satu-ke-satu: Memungkinkan klien mana pun untuk berkomunikasi dengan klien lain tanpa batasan, terlepas dari peran klien.

Ruang nama

Namespace Layanan Event Grid adalah kontainer manajemen untuk sumber daya yang mendukung fungsionalitas broker MQTT, bersama dengan sumber daya yang mendukung fungsionalitas pengiriman pull. Klien MQTT Anda dapat terhubung ke broker MQTT dan menerbitkan-berlangganan pesan. Broker MQTT mengautentikasi klien Anda, mengotorisasi permintaan terbitkan-berlangganan, dan meneruskan pesan ke klien yang tertarik. Pelajari selengkapnya tentang konsep namespace layanan.

Klien

Klien merujuk ke perangkat atau aplikasi IoT yang menerbitkan dan berlangganan pesan MQTT.

Perangkat IoT adalah objek fisik yang terhubung ke internet untuk mengirimkan telemetri dan menerima perintah. Perangkat ini adalah sensor, appliance, mesin, atau objek lain yang dilengkapi dengan sensor dan perangkat lunak yang disematkan. Sensor dan perangkat lunak memungkinkan mereka untuk berkomunikasi dan berinteraksi satu sama lain dan lingkungan di sekitarnya. Nilai perangkat IoT terletak pada kemampuan mereka untuk memberikan data dan wawasan real-time, yang memungkinkan bisnis dan individu untuk membuat keputusan berdasarkan informasi dan meningkatkan efisiensi dan produktivitas.

Aplikasi IoT dirancang untuk berinteraksi dan memproses data dari perangkat IoT. Mereka biasanya mencakup komponen seperti pengumpulan data, pemrosesan, penyimpanan, visualisasi, dan analitik. Aplikasi ini memungkinkan pengguna untuk memantau dan mengontrol perangkat yang terhubung, mengotomatiskan tugas, dan mendapatkan wawasan dari data yang dihasilkan oleh perangkat IoT.

Autentikasi Klien

Event Grid memiliki registri klien yang menyimpan informasi tentang klien yang diizinkan untuk menyambungkannya. Sebelum klien dapat terhubung, harus ada entri untuk klien tersebut di registri klien. Saat klien terhubung ke broker MQTT, klien perlu mengautentikasi dengan broker MQTT berdasarkan kredensial yang disimpan di registri identitas. Broker MQTT mendukung mekanisme autentikasi klien berikut:

Kontrol akses

Kontrol akses sangat penting untuk skenario IoT mengingat skala besar lingkungan IoT dan tantangan keamanan unik perangkat yang dibatasi. Event Grid memberikan kontrol akses berbasis peran melalui model kontrol akses fleksibel yang dapat Anda gunakan untuk mengelola otorisasi klien untuk menerbitkan atau berlangganan topik.

Dengan skala besar lingkungan IoT, menetapkan izin untuk setiap klien ke setiap topik sangat melelahkan. Kontrol akses fleksibel Event Grid mengatasi tantangan skala ini melalui pengelompokan klien dan topik ke dalam grup klien dan ruang topik. Setelah membuat grup klien dan ruang topik, Anda dapat mengonfigurasi pengikatan izin untuk memberikan akses ke grup klien untuk menerbitkan atau berlangganan ruang topik.

Diagram yang memperlihatkan model kontrol akses broker Azure Event Grid MQTT.

Ruang topik juga menyediakan kontrol akses terperinci dengan memungkinkan Anda mengontrol otorisasi setiap klien dalam grup klien untuk menerbitkan atau berlangganan topiknya sendiri. Kontrol akses terperinci ini dicapai dengan menggunakan variabel dalam templat topik. Pelajari selengkapnya tentang kontrol akses.

Pengaturan Rute

Dengan Event Grid, Anda dapat merutekan pesan MQTT anda ke layanan Azure atau webhook untuk diproses lebih lanjut. Dengan demikian, Anda dapat membangun solusi end-to-end dengan menggunakan data IoT Anda untuk analisis data, penyimpanan, dan visualisasi, di antara kasus penggunaan lainnya. Dengan menggunakan konfigurasi perutean, Anda dapat mengirim semua pesan MQTT dari klien Anda ke topik namespace Layanan Event Grid atau topik kustom Event Grid. Setelah pesan berada dalam topik, Anda dapat mengonfigurasi langganan peristiwa untuk menggunakan pesan dari topik tersebut. Misalnya, dengan fungsionalitas ini, Anda dapat menggunakan Event Grid untuk merutekan telemetri dari perangkat IoT Anda ke Azure Event Hubs lalu ke Azure Stream Analytics untuk mendapatkan wawasan dari telemetri perangkat Anda. Pelajari selengkapnya tentang perutean.

Diagram yang memperlihatkan perutean pesan MQTT di Event Grid.

Peristiwa MQTT ke eventstream Microsoft Fabric (pratinjau)

Merutekan pesan MQTT dan peristiwa cloud dari namespace Layanan Event Grid ke eventstream Microsoft Fabric untuk analitik real time, penyimpanan, dan visualisasi data IoT.

Diagram yang menunjukkan bagaimana peristiwa MQTT dirutekan ke Microsoft Fabric.

Integrasi broker MQTT Edge

Event Grid terintegrasi dengan Azure IoT Operations untuk menjenguk kemampuan broker MQTT-nya di tepi dengan fitur broker Event Grid MQTT di cloud. Operasi Azure IoT menyediakan broker MQTT terdistribusi baru untuk komputasi edge, yang berjalan pada kluster Kubernetes dengan dukungan Azure Arc. Ini dapat terhubung ke broker Azure Event Grid MQTT dengan autentikasi ID Microsoft Entra dengan menggunakan identitas terkelola yang ditetapkan sistem, yang menyederhanakan manajemen kredensial. Broker MQTT menyediakan ketersediaan tinggi, skalabilitas, dan keamanan untuk perangkat dan aplikasi IoT Anda. Pelajari selengkapnya tentang menyambungkan broker Azure IoT Operations MQTT ke broker Event Grid MQTT.

Peristiwa siklus hidup klien MQTT

Peristiwa siklus hidup klien memungkinkan aplikasi untuk bereaksi terhadap peristiwa tentang status koneksi klien atau operasi sumber daya klien. Anda dapat melacak status koneksi klien Anda, bereaksi dengan tindakan mitigasi untuk pemutusan sambungan klien, dan melacak namespace layanan yang dilampirkan klien Anda selama failover otomatis. Pelajari selengkapnya tentang peristiwa siklus hidup klien MQTT.

Nama domain khusus

Dukungan nama domain kustom memungkinkan pengguna untuk menetapkan nama domain mereka sendiri ke titik akhir MQTT dan HTTP namespace Event Grid, yang meningkatkan keamanan dan menyederhanakan konfigurasi klien. Fitur ini membantu perusahaan memenuhi persyaratan keamanan dan kepatuhan mereka dan menghilangkan kebutuhan untuk memodifikasi klien yang sudah ditautkan ke domain. Menetapkan nama domain kustom ke beberapa namespace layanan juga dapat membantu meningkatkan ketersediaan, mengelola kapasitas, dan menangani mobilitas klien lintas wilayah. Pelajari selengkapnya tentang nama domain kustom.

MQTT Retain (pratinjau)

Pesan yang dipertahankan MQTT digunakan untuk menyimpan nilai baik topik terakhir yang diketahui pada broker, memastikan bahwa pelanggan baru segera menerima pesan terbaru tanpa menunggu penerbitan berikutnya. Kemampuan ini sangat berguna dalam skenario seperti pelaporan status perangkat, sinyal kontrol, atau data konfigurasi di mana pesan terbaru harus selalu tersedia untuk klien saat terhubung. Untuk informasi selengkapnya, lihat MQTT Mempertahankan dukungan di Azure Event Grid.

Penerbitan HTTP (pratinjau)

HTTP Publish memungkinkan aplikasi menerbitkan pesan MQTT ke broker Event Grid MQTT melalui permintaan HTTPS POST sederhana, tanpa mempertahankan sesi MQTT aktif. Ini paling cocok untuk skenario di mana klien MQTT tidak layak atau diperlukan, seperti fungsi tanpa server, layanan cloud, atau aplikasi back-end. HTTP Publish memungkinkan arsitektur berbasis peristiwa untuk menyuntikkan pesan MQTT dengan andal dan aman. Kasus penggunaan umum termasuk menerbitkan perintah perangkat, pemberitahuan, atau sinyal kontrol dari Azure Functions, Azure Logic Apps, atau integrasi API. Untuk informasi selengkapnya, lihat Penerbitan HTTP pesan MQTT di Azure Event Grid.

Konsep

Pelajari selengkapnya tentang konsep broker MQTT di Event Grid:

Pelajari selengkapnya tentang broker MQTT dan konsep utamanya: