2016-08-22 9 views
0

これが可能かどうかはわかりません。ある期間トピックの中でいくつかのメッセージを永続化するように設定した場合、後でそのメッセージをすべて取得できますか?MQTTトピックに一連のメッセージを保存する

サービス間の通信用にMQTTブローカー(Mosquitto)がすでにセットアップされていますが、いくつかのメッセージ用にいくつかのストレージが必要です。最後の24時間のメッセージを保管し、後で引き出すことができます。

答えて

1

メッセージの永続性は、サブスクライブしているが現在切断されているクライアントに対してのみ適用され、再接続時にはcleanSessionフラグがfalseに設定されています。この場合、そのクライアントが切断された間に公開されたすべてのメッセージ。

MQTTブローカーを使用して、任意の数のメッセージを保管し、後でそれらを取り出すことはできません。クライアントが接続されている場合、登録されたトピックのコレクションに関するすべてのメッセージは、できるだけ早く配信されます。あなたの

は後であなたが個別にこれを実装する必要がありますのためのメッセージを記録したい、使用可能なデータベース

+0

おかげでメッセージを格納するアプリケーションの例がたくさんあります。私はそれが当てはまると思ったが、私はすでにそれを持っているので私はダブルチェックを考えた – dave

+0

2つの連続したメッセージが同じトピックのブローカーに公開されている場合、2番目の_replaces_最初のブローカーは秒を保持します。あなたが説明した加入者が接続されている場合、両方のメッセージを受信しますか?接続が解除されて再接続された場合、2つのメッセージのうち最新のもののみが受信されます。 –

+1

ブローカは、保持されたビットセットを持つ最後のメッセージを常に送信しますが、上記のようにすべての**キューに入れられたメッセージも送信しますので、両方のメッセージを受信します(必ずしも保持されたメッセージが) – hardillb

関連する問題