Apa yang terjadi jika Mosquitto kehabisan memori untuk menyimpan pesan QoS 1/2?

8

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?

Aurora0001
sumber

Jawaban:

9

Pesan tetap ada di disk tidak hanya disimpan di memori.

Lihat opsi autosave_intervaldan autosave_on_changeketika pesan ditulis ke disk.

Sumber

hardillb
sumber