C++、Python、および Java で記述されたクライアントで C++ ブローカーを使用しています。システムを一晩実行すると、朝までに確実にメッセージを送受信することはありません。すべてのメッセージは、件名が宛先を指定してトピックを介して交換されます。3 つの質問があります。
1.) キューを使用する必要がありますか? トピックよりもキューを使用する利点はありますか? トピックよりもキューを選択する設計上の決定は何ですか? キューはより厳格に見えます (つまり、ノード A がリクエストを送信し、レスポンスが必要であることがわかっている場合は、すぐにレスポンスを送り返すことになります。つまり、pub/sub)。
2.) メッセージが確認されない場合、何が起こる可能性がありますか? Python モジュールに session.acknowledge() がないことがわかりました。これが私たちの夜通しの失敗を引き起こしているのでしょうか? 今日この問題を発見したので、明日はもっと洞察が得られることを願っています。解決策は、qpidd サービスを再起動することです。(x64 Linux で実行しています)。
3.) これはクラスタ フェールオーバーを使用する正当な理由ですか?