Saat ini dalam proyek saya di mana controller (klien) mengirim data sensor ke server dan menerima umpan balik dari server dengan beberapa data tambahan, menggunakan protokol MQTT untuk komunikasi. Ini memiliki 2 topik terpisah untuk klien dan server.
Sebagai contoh:
Topik1 - Klien (BERLANGGANAN), Server (PENERBITAN)
Topik2 - Klien (PENERBITAN), Server (BERLANGGANAN)
Tetapi jika proyek ini adalah kasus penggunaan aplikasi yang lebih besar, katakanlah sekitar 5.000 perangkat perlu diinstal di suatu tempat.
Jadi, akankah diperlukan untuk membuat 5000 topik berbeda untuk klien dan server? Atau dengan topik yang lebih sedikit itu bisa dilakukan dan bagaimana caranya?
Jawaban:
Dari klien ke server Anda dapat mengemas id klien ke payload, mis. Jika JSON, salah satu kunci dapat memiliki nilai id klien.
Respons dari server ke klien harus mengandung id klien untuk menjadi perantara agar tidak menyiarkan pesan, tetapi untuk mengirimnya langsung ke satu klien yang terhubung.
Pada saat yang sama Anda dapat berlangganan server Anda untuk sesuatu seperti: "permintaan / +" dan setiap klien akan menerbitkan ke "request / {client-id-1}", "request / {client-id-2}", dan server akan menerima keduanya hanya dengan satu langganan.
sumber