A partir de ahora, el EMQ (Erlang MQTT Broker) no parece persistir los mensajes de QoS 1/2 en el disco: ¿Cómo EMQ persiste los mensajes de QoS 1/2?
Por lo tanto, en caso de un reinicio inesperado del servidor, los límites de memoria u otros mensajes de evento pueden perderse a pesar de que los mensajes de nivel de QoS 1/2 deben entregarse al menos o exactamente una vez.
¿Hay intermediarios MQTT que persisten los mensajes de QoS 1/2 en el disco para garantizar la entrega?
Respuestas:
Creo que Mosquitto guarda los mensajes en memoria en el disco.
fuente
VerneMQ es un ejemplo de un agente MQTT que garantiza la entrega de mensajes aceptados de QoS1 / 2 a medida que se escriben en el disco (usando LevelDB). VerneMQ es, en cierto modo, similar a EMQ en que también es de código abierto y admite la agrupación en clúster (aunque utiliza una tecnología diferente). Revelación completa, soy ingeniero de VerneMQ.
fuente
HiveMQ parece proporcionar varias opciones para conservar los datos de la sesión, incluidos los mensajes QoS 1/2.
Las opciones de persistencia se enumeran aquí :
De forma predeterminada, HiveMQ utilizará la persistencia del archivo , que guarda todos los datos en el disco para poder recuperarlos en cualquier momento.
fuente