¿Qué sucede si Mosquitto se queda sin memoria para almacenar mensajes QoS 1/2?


8

En MQTT, los mensajes con QoS 1 o 2 deben entregarse al menos una vez (los mensajes de QoS 2 deben entregarse exactamente una vez). Si el cliente no está conectado, el intermediario debe almacenar el mensaje hasta que el cliente esté listo para recibirlo.

El blog HiveMQ tiene un punto interesante:

Pero, ¿qué sucede si un cliente no se conecta en línea durante mucho tiempo? La restricción para almacenar mensajes es a menudo el límite de memoria del sistema operativo. No hay una forma estándar de qué hacer en este escenario. Depende totalmente del caso de uso. En HiveMQ proporcionaremos la posibilidad de manipular mensajes en cola y purgarlos.

Dado que esto parece depender del corredor, ¿cómo maneja Mosquitto esta situación? ¿Simplemente se bloquea después de quedarse sin memoria o finalmente se eliminan los mensajes antiguos?

Respuestas:


9

Los mensajes se almacenan en el disco no solo en la memoria.

Mira las opciones autosave_intervaly autosave_on_changepara cuando los mensajes se escriben en el disco.

Fuente

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.