Bagikan melalui


Menerbitkan dan berlangganan pesan MQTT menggunakan Pratinjau Azure IoT MQ

Penting

Pratinjau Operasi Azure IoT – diaktifkan oleh Azure Arc saat ini dalam PRATINJAU. Anda tidak boleh menggunakan perangkat lunak pratinjau ini di lingkungan produksi.

Lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure untuk persyaratan hukum yang berlaku pada fitur Azure dalam versi beta, pratinjau, atau belum dirilis secara umum.

Azure IoT MQ Preview memiliki MQTT Broker tingkat perusahaan yang mematuhi standar yang dapat diskalakan, sangat tersedia, dan asli Kubernetes. Ini menyediakan bidang olahpesan untuk Pratinjau Operasi Azure IoT, memungkinkan komunikasi tepi/cloud dua arah dan mendukung aplikasi berbasis peristiwa di tepi.

Sesuai MQTT

IoT MQ memiliki MQTT Broker yang mematuhi standar yang mendukung MQTT v3.1.1 dan MQTT v5.

Message Queue Telemetry Transport (MQTT) telah muncul sebagai franca lingua di antara protokol di ruang IoT. Desain sederhana MQTT memungkinkan satu broker untuk melayani puluhan ribu klien secara bersamaan, dengan pembuatan dan manajemen topik terbitkan-berlangganan yang ringan. Banyak perangkat IoT mendukung MQTT secara asli out-of-the-box, dengan ekor panjang protokol IoT dirasionalisasi ke MQTT oleh gateway terjemahan hilir.

IoT MQ menggunakan protokol MQTT sebagai yang mendasar untuk lapisan olahpesan. Untuk informasi selengkapnya tentang fitur MQTT yang didukung, lihat Dukungan fitur MQTT di Pratinjau Azure IoT MQ.

Sangat tersedia dan dapat diskalakan

Kubernetes dapat menskalakan beban kerja secara horizontal untuk berjalan dalam beberapa instans. Redundansi ini berarti kapasitas tambahan untuk melayani permintaan dan keandalan jika instans apa pun turun. Kubernetes memiliki penyembuhan mandiri bawaan, dan instans dipulihkan secara otomatis.

Selain Kubernetes menjadi teknologi penskalaan elastis, ini juga merupakan standar untuk DevOps. Jika MQTT adalah franca lingua di antara protokol IoT, Kubernetes adalah franca lingua untuk lapisan infrastruktur komputasi. Dengan mengadopsi Kubernetes, Anda dapat menggunakan alur CI/CD, alat, pemantauan, kemasan aplikasi, keterampilan karyawan yang sama di mana saja. Hasilnya adalah sistem end-to-end tunggal dari komputasi cloud, server lokal, dan gateway IoT yang lebih kecil di lantai pabrik. Anda dapat menghabiskan lebih sedikit waktu untuk berurusan dengan infrastruktur atau DevOps dan fokus pada bisnis Anda.

Azure IoT MQ berfokus pada nilai bidang data edge-native yang unik yang dapat diberikannya ke ekosistem Kubernetes sambil menyesuaikannya dengan mulus ke dalamnya. Ini membawa sarana platform olahpesan berperforma tinggi dan dapat diskalakan yang dibangun di sekitar MQTT, dan integrasi yang mulus ke beban kerja Kubernetes lain yang dapat diskalakan dan Azure.

Aman secara default

IoT MQ dibangun di atas konsep keamanan dan identitas asli Azure dan Kubernetes yang diuji pertempuran membuatnya sangat aman dan dapat digunakan. Ini mendukung beberapa mekanisme autentikasi untuk fleksibilitas bersama dengan mekanisme kontrol akses terperinci hingga tingkat topik MQTT individual.

Integrasi Azure Arc

Platform hibrid Microsoft berlabuh di sekitar Kubernetes dengan Azure Arc sebagai sarana kontrol tunggal. Ini menyediakan bidang manajemen yang memproyeksikan sumber daya non-Azure, lokal, atau cloud lainnya yang ada ke Azure Resource Manager. Hasilnya adalah panel kontrol tunggal untuk mengelola komputer virtual, kluster Kubernetes, dan database yang tidak berjalan di pusat data Azure.

IoT MQ disebarkan sebagai ekstensi Azure Arc untuk Kubernetes dan dapat dikelola melalui penyedia sumber daya Azure (RP) berfitur lengkap - microsoft/IoTOperationsMQ. Ini berarti Anda dapat mengelolanya seperti sumber daya cloud Azure asli seperti Virtual Machines, Storage, dll.

Teknologi Azure Arc memungkinkan perubahan diterapkan pada layanan IoT MQ yang berjalan pada kluster Kubernetes lokal. Secara opsional, jika Anda lebih suka pendekatan asli Kubernetes sepenuhnya, Anda dapat mengelola IoT MQ dengan definisi sumber daya kustom (CRD) Kubernetes secara lokal atau menggunakan teknologi GitOps seperti Flux.

Konektor cloud

Anda mungkin memiliki persyaratan olahpesan yang berbeda untuk skenario cloud Anda. Misalnya, jalur cepat cloud/edge dua arah untuk data berprioritas tinggi atau untuk memberi daya dasbor cloud mendekati real-time dan jalur lambat dengan biaya lebih rendah untuk data yang kurang penting waktu yang dapat diperbarui dalam batch.

Untuk memberikan fleksibilitas, Azure IoT MQ menyediakan Azure Koneksi ors bawaan ke Azure Event Hubs (dengan titik akhir Kafka), kemampuan broker MQTT Event Grid, Microsoft Fabric, dan Blob Storage. IoT MQ dapat diperluas sehingga Anda dapat memilih solusi olahpesan cloud pilihan Anda yang berfungsi dengan solusi Anda.

Membangun di atas Azure Arc memungkinkan konektor dikonfigurasi untuk menggunakan Azure Managed Identity untuk mengakses layanan cloud dengan Kontrol Akses berbasis Peran Azure (RBAC) yang kuat. Tidak diperlukan manajemen kredensial manual, tidak aman, dan rumit.

Model pemrograman Dapr

Dapr menyederhanakan plumbing antara aplikasi terdistribusi dengan mengekspos kemampuan aplikasi terdistribusi umum, seperti manajemen status, pemanggilan layanan-ke-layanan, dan pesan terbitkan-berlangganan. Komponen Dapr terletak di bawah blok penyusun dan memberikan penerapan nyata untuk setiap kemampuan. Anda dapat fokus pada logika bisnis dan membiarkan Dapr menangani detail aplikasi terdistribusi.

IoT MQ menyediakan blok penyusun publish-subscribe dan state store Dapr yang dapat dicolokkan yang membuat pengembangan dan penyebaran aplikasi berbasis peristiwa di tepi mudah dan agnostik teknologi.

Sistem

Broker MQTT memiliki tiga lapisan:

  • Lapisan front-end stateless yang menangani permintaan klien
  • Load-balancer yang merutekan permintaan dan menghubungkan broker ke orang lain
  • Lapisan back-end stateful dan pecahan yang menyimpan dan memproses data

Lapisan back-end mempartisi data dengan kunci yang berbeda, seperti ID klien untuk sesi klien, dan nama topik untuk pesan topik. Ini menggunakan replikasi rantai untuk mereplikasi data dalam setiap partisi. Untuk data yang dibagikan oleh semua partisi, data menggunakan satu rantai yang mencakup semua partisi.

Tujuan arsitekturnya adalah:

  • Toleransi dan isolasi kesalahan: Penerbitan pesan berlanjut jika simpul back-end gagal dan mencegah kegagalan menyebar ke sistem lainnya
  • Pemulihan kegagalan: Pemulihan kegagalan otomatis tanpa intervensi operator
  • Tidak ada kehilangan pesan: Pengiriman pesan jika setidaknya satu simpul front-end dan satu simpul back-end sedang berjalan
  • Penskalaan elastis: Penskalaan horizontal penerbitan dan berlangganan throughput untuk mendukung penyebaran tepi dan cloud
  • Performa konsisten dalam skala besar: Membatasi overhead latensi pesan karena replikasi rantai
  • Kesederhanaan operasional: Dependensi minimum pada komponen eksternal untuk menyederhanakan pemeliharaan dan kompleksitas

Langkah berikutnya

Menyebarkan ekstensi Pratinjau Operasi Azure IoT ke kluster Kubernetes