0

C++、Python、および Java で記述されたクライアントで C++ ブローカーを使用しています。システムを一晩実行すると、朝までに確実にメッセージを送受信することはありません。すべてのメッセージは、件名が宛先を指定してトピックを介して交換されます。3 つの質問があります。

1.) キューを使用する必要がありますか? トピックよりもキューを使用する利点はありますか? トピックよりもキューを選択する設計上の決定は何ですか? キューはより厳格に見えます (つまり、ノード A がリクエストを送信し、レスポンスが必要であることがわかっている場合は、すぐにレスポンスを送り返すことになります。つまり、pub/sub)。

2.) メッセージが確認されない場合、何が起こる可能性がありますか? Python モジュールに session.acknowledge() がないことがわかりました。これが私たちの夜通しの失敗を引き起こしているのでしょうか? 今日この問題を発見したので、明日はもっと洞察が得られることを願っています。解決策は、qpidd サービスを再起動することです。(x64 Linux で実行しています)。

3.) これはクラスタ フェールオーバーを使用する正当な理由ですか?

4

1 に答える 1

0

1)それはアーキテクチャに依存します。キューとトピックの両方のメソッドは、多くのソースから多くの宛先へのメッセージを取得できます。トピックはすべてのリスナーにメッセージを取得し、キューはリスナーの 1 人 (最初にメッセージを取得した人) にメッセージを取得します。

2) 失敗に関連するエラーまたはログ メッセージはありますか? リソースが不足していると思われます。

3) いいえ、メッセージが送信されない理由を 24 時間前に把握する必要があります。

于 2013-04-22T12:50:27.203 に答える