Tema ini menjelaskan fitur langganan bersama dari MQTT 5.0.
Informasi latar belakang
MQTT dirancang berdasarkan pola publikasi-langganan. Setelah pesan diterbitkan, semua subscriber dapat menerima pesan tersebut. Dalam skenario tertentu, Anda mungkin menginginkan hanya satu atau beberapa subscriber yang menerima pesan tertentu. Fitur langganan bersama cocok untuk skenario tersebut. Seorang subscriber harus menentukan tag langganan bersama dan bergabung dengan grup subscriber ketika menggunakan fitur langganan bersama.
Dengan cara ini, hanya salah satu subscriber dari grup subscriber yang dapat menerima pesan.

Pada gambar di atas, Subscriber C dan Subscriber D mengikuti proses standar untuk berlangganan topik demo/topic, dan Publisher A juga mengikuti proses standar untuk mempublikasikan pesan ke topik demo/topic. Subscriber A dan Subscriber B menggunakan fitur langganan bersama. Pesan secara acak dikirim ke Subscriber A atau Subscriber B.
Topik langganan bersama $share/group/demo/topic mencakup item-item berikut:
Tag langganan bersama:
$share.Grup subscriber:
group1. Anda harus menentukan nilai.Topik asli:
demo/topic. Anda harus menentukan nilai.
IoT Platform mengidentifikasi bahwa tujuan langganan adalah langganan bersama dan termasuk dalam grup subscriber bernama group1 berdasarkan tag langganan bersama $share dan nama grup subscriber group1. Fitur langganan bersama mendukung karakter wildcard. Misalnya, jika Anda ingin berlangganan semua pesan, Anda dapat berlangganan topik $share/group1/#.
Batasan
Fitur langganan bersama hanya tersedia untuk gateway Edisi Perusahaan Eksklusif dan instans berbasis MQTT Standar.
Jika terdapat beberapa subscriber yang menggunakan langganan bersama dalam sebuah grup subscriber, IoT Platform secara acak mendorong pesan ke salah satu subscriber.
Fitur langganan bersama hanya tersedia untuk perangkat yang terhubung ke IoT Platform melalui MQTT 5.0. Fitur langganan bersama tidak tersedia untuk perangkat yang terhubung ke IoT Platform melalui MQTT 3.1 meskipun perangkat tersebut mematuhi aturan langganan bersama.
Skenario
Pemerataan beban sisi server
Jika sejumlah besar perangkat terhubung dan mengirim pesan ke IoT Platform, beberapa server bisnis diperlukan untuk memproses pesan tersebut. Fitur langganan bersama yang didukung oleh IoT Platform memungkinkan Anda mendistribusikan pesan ke beberapa server bisnis. Hal ini membantu menerapkan pemerataan beban. Server Bisnis A dan Server Bisnis B menggunakan grup subscriber yang sama. IoT Platform secara acak mendorong pesan terkait perangkat ke Server Bisnis A atau Server Bisnis B, seperti yang ditunjukkan pada gambar berikut.
Fitur langganan bersama diintegrasikan ke dalam langganan sisi server IoT Platform. IoT Platform dapat mengirim pesan ke server bisnis melalui Protokol Pengantrean Pesan Lanjutan. Untuk informasi lebih lanjut, lihat Langganan Sisi Server.
Penjadwalan tugas sisi server
Anda dapat menggunakan pesan untuk merepresentasikan tugas dan secara acak menetapkan setiap tugas ke perangkat IoT untuk menerapkan penjadwalan tugas dasar berdasarkan fitur langganan bersama. Misalnya, perangkat pada gambar berikut adalah robot. Server bisnis mendorong tugas penanganan. Jika salah satu perangkat merespons tugas tersebut, fitur langganan bersama mendorong tugas penanganan hanya ke salah satu robot.