Apakah perlu membuat nomor kapak dari topik MQTT untuk x jumlah perangkat?

9

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?

ron123456
sumber
1
Menurut Anda mengapa memiliki banyak topik?
hardillb
1
Mungkin karena perangkat lunak harus mengatur semuanya.
Mawg mengatakan mengembalikan Monica
1
@hardillb Ini bukan masalah ... hanya penasaran ... tapi bisakah topik MQTT memiliki sub-topik?
ron123456
2
Tentu saja, topik bersifat hierarkis, sehingga skema apa pun dapat dirancang. Sparkplug s3.amazonaws.com/cirrus-link-com/… memiliki beberapa topik per node tepi dan perangkat di belakang node tepi.
Dukungan Gambit
lihat shiftr.io/shiftr-io/demo
jsotola

Jawaban:

5

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.

shal
sumber