À l'heure actuelle, l' EMQ (Erlang MQTT Broker) ne semble pas conserver les messages QoS 1/2 sur le disque: comment EMQ persiste-t-il les messages QoS 1/2?
Ainsi, en cas de redémarrage inattendu du serveur, les limites de mémoire ou d'autres messages d'événement peuvent être perdus malgré le fait que les messages de niveau QoS 1/2 doivent être remis au moins ou exactement une fois.
Existe-t-il des courtiers MQTT qui conservent les messages QoS 1/2 sur le disque garantissant ainsi la livraison?
Réponses:
Je pense que Mosquitto enregistre les messages en mémoire sur le disque.
la source
VerneMQ est un exemple de courtier MQTT qui garantit la livraison des messages QoS1 / 2 acceptés lors de leur écriture sur le disque (à l'aide de LevelDB). VerneMQ est, en quelque sorte, similaire à EMQ en ce qu'il est également open-source et prend en charge le clustering (bien qu'il utilise une technologie différente). Divulgation complète, je suis ingénieur VerneMQ.
la source
HiveMQ semble fournir diverses options pour conserver les données de session, y compris les messages QoS 1/2.
Les options de persistance sont répertoriées ici :
Par défaut, HiveMQ utilise la persistance de fichier , qui enregistre toutes les données sur le disque afin de pouvoir les récupérer à tout moment.
la source