MQTTでは、QoSの1又は2のメッセージがなければならない少なくとも一度配信される(QOS 2件のメッセージが配信されなければならない正確に 1回)。クライアントが接続されていない場合、ブローカーはクライアントがメッセージを受信する準備ができるまでメッセージを保存する必要があります。
HiveMQのブログは面白いポイントがあります。
しかし、クライアントが長時間オンラインにならないとどうなりますか?多くの場合、メッセージを保存するための制約は、オペレーティングシステムのメモリ制限です。このシナリオで何をすべきかについての標準的な方法はありません。それは完全にユースケースに依存します。HiveMQでは、キューに入れられたメッセージを操作してそれらをパージする可能性を提供します。
これはブローカーに依存しているようですので、Mosquittoはこの状況をどのように処理しますか?メモリ不足の後にクラッシュするのですか、それとも古いメッセージが最終的に削除されますか?