Dans MQTT, les messages avec QoS 1 ou 2 doivent être remis au moins une fois (les messages QoS 2 doivent être livrés 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.
Le blog HiveMQ a un point intéressant:
Mais que se passe-t-il si un client ne se connecte pas pendant longtemps? La contrainte de stockage des messages est souvent la limite de mémoire du système d'exploitation. Il n'existe aucun moyen standard sur ce qu'il faut faire dans ce scénario. Cela dépend totalement du cas d'utilisation. Dans HiveMQ, nous fournirons la possibilité de manipuler les messages en file d'attente et de les purger.
Comme cela semble dépendre du courtier, comment Mosquitto gère-t-il cette situation? Est-ce qu'il se bloque juste après un manque de mémoire ou les anciens messages sont-ils finalement purgés?