Apa yang terjadi ketika tidak ada pelanggan untuk topik di MQTT?

12

Situasinya adalah sebagai berikut:

Ada klien, penerbit, tidak berlangganan topik apa pun. Klien ini memiliki satu topik sendiri, dan menerbitkan data secara teratur untuknya. Tetapi tidak ada klien lain yang berlangganan topik ini.

Jadi klien yang miskin dan kesepian ini mungkin dianggap abnormal ( Bab 5.4.8 ).

Implementasi server dapat memantau perilaku Klien untuk mendeteksi potensi insiden keamanan. Sebagai contoh:

  • [...]

  • Mengirim pesan yang tidak terkirim (tidak ada pelanggan ke topik)

Ia tidak tahu berapa banyak klien yang berlangganan topiknya. Jadi tidak tahu bahwa itu mungkin dianggap klien dengan perilaku abnormal.

Jadi apa yang terjadi dengan klien seperti itu akan tergantung pada implementasi server? Apa praktiknya, itu harus diputuskan, tetapi kemudian tidak akan mencoba untuk terhubung kembali?

Bence Kaulics
sumber

Jawaban:

9

Seperti yang Anda katakan, itu tergantung pada implementasi server, terutama QoS dari pesan yang dikirim jika "setidaknya sekali".

IMHO MQTT adalah sistem penyiaran, bukan protokol ujung ke ujung antara dua mesin sehingga kita tidak benar-benar membutuhkan pelanggan setiap kali kita membuat subjek.

Saya dapat memposting apa saja (suhu, ...) dan dua bulan kemudian mengimplementasikan sesuatu yang akan membacanya, atau bahkan menghapusnya dan memikirkan sesuatu yang lain sementara sensor saya masih menerbitkan data.

Goufalite
sumber