L' EMQ (Erlang MQTT Broker) est un "courtier de messages MQTT distribué, massivement évolutif et hautement extensible" avec un rapport de "1,3 million de connexions MQTT simultanées" - il permet donc potentiellement à un grand nombre de clients de le publier et de s'y abonner. Il semble probable que certains clients puissent être déconnectés à un moment donné.
Comme cette question Que se passe-t-il si Mosquitto manque de mémoire pour stocker les messages QoS 1/2? pose des questions sur Mosquitto:
Dans MQTT, les messages avec QoS 1 ou 2 doivent être remis au moins une fois (les messages QoS 2 doivent être remis exactement une fois). Si le client n'est pas connecté, le courtier doit stocker le message jusqu'à ce que le client soit prêt à le recevoir.
Alors, comment EMQ persiste-t-il les messages QoS 1/2 jusqu'à la livraison, c'est-à-dire un redémarrage du courtier ou en ce qui concerne les limites de mémoire?
Réponses:
La réponse semble être: non . Ce problème sur leur bug tracker dit:
De plus, après avoir creusé quelques problèmes supplémentaires, j'ai trouvé ce rapport :
Essentiellement, à partir de la v2.0.5:
Pas exactement idéal, mais cela semble être le comportement actuel, donc si la persistance des messages est critique pour votre cas d'utilisation, utilisez un courtier différent.
la source