3

アプリケーション A がパブリッシャー クライアントを使用して、そのデータを受け入れるためのサブサーバー ソケットを持つアプリケーション B に競合的にデータをストリーミングする 2 つのアプリケーションがあるとします。再デプロイ、再起動) A はすべての保留中のメッセージをバッファリングし、B が使用可能になると、バッファリングされたメッセージは通過し、ソケットはリアルタイム ストリームに追いつきますか?

簡単に言えば、SUB SERVER が使用できないときに PUB CLIENT ソケット バッファ メッセージを制限付きで作成するにはどうすればよいでしょうか?

PUB クライアントのデフォルトの動作はミュート状態でドロップすることですが、これを制限サイズのバッファーに変更できれば素晴らしいと思いますが、zmq で可能ですか? または、アプリケーションレベルで行う必要がありますか...

私はソケットに HWM と LINGER を設定しようとしましたが、私が間違っていなければ、パブリッシャーがサブスクライバーに接続されているが、サブスクライバーが非常に遅いため、パブリッシャーがメッセージをバッファリングし始めるという遅い消費者のケースにのみ責任があります (hwm はこれらのメッセージの数を制限します)...

私はjeromqjvmプラットフォームをターゲットにしているので使用しています。

4

3 に答える 3