Dalam MQTT, pesan dengan QoS 1 atau 2 harus dikirimkan setidaknya satu kali (QoS 2 pesan harus dikirim tepat sekali). Jika klien tidak terhubung, broker harus menyimpan pesan sampai klien siap menerimanya.
The HiveMQ blog memiliki titik yang menarik:
Tetapi apa yang terjadi jika klien tidak online untuk waktu yang lama? Kendala untuk menyimpan pesan sering kali adalah batas memori sistem operasi. Tidak ada cara standar tentang apa yang harus dilakukan dalam skenario ini. Itu benar-benar tergantung pada use case. Di HiveMQ kami akan memberikan kemungkinan untuk memanipulasi pesan yang antri dan membersihkannya.
Karena ini tampaknya tergantung pada broker, bagaimana Mosquitto menangani situasi ini? Apakah hanya macet setelah kehabisan memori atau apakah pesan lama akhirnya dihapus?