1

WebsphereMQ や ActiveMQ (JMS 経由で使用) などのメッセージング システムでのメッセージ配信の信頼性について疑問に思っています。私の知る限り、受信者が利用できず、後で配信される場合、メッセージをバッファリングできます。

今、送信者が一時的にネットワークに到達できない場合はどうなるのだろうと思っています。後でメッセージを送信する何らかの種類のローカル バッファリングはありますか? これは、メッセージブローカーが実行されている場所に依存すると思います。すべてのマシンにローカル ブローカーがありますか? それとも中央のブローカーだけですか?

私の質問を特定するには: 一時的なネットワーク障害に直面しても、メッセージが最終的に受信されるようにする必要がある場合、メッセージング システムは正しい選択ですか? この信頼性を達成するために必要な特定のセットアップはありますか?

関連するドキュメントへのポインタをいただければ幸いです。

4

2 に答える 2

2

一般的なソリューションは「ストア アンド フォワード」と呼ばれます。このようなシステムでは、メッセージをローカルのメッセージ エージェントに渡すと、メッセージは彼らの責任になります。このエージェントは完全なブローカーではない可能性があります。メッセージング システムに基本的な配信保証がある場合でも、ローカル エージェントは、メッセージが実際のブローカーに渡されるまで、メッセージの永続的なバッファリングを必要とします。

于 2009-07-10T12:49:21.923 に答える
0

本当にメッセージを失うわけにはいかない場合は、可能であればエンドポイントで信頼できるメッセージング パターンを実装することをお勧めします。つまり、送信者は、特定の時間内に確認応答が受信されず、受信者が対処するための重複検出を持っている場合に再送信します。同じメッセージを複数回受け取る場合。

保証された配信にはパフォーマンスのオーバーヘッドが伴い、通常、メッセージがそこに到達するまでにかかる時間を保証するものではありません。

于 2009-07-15T02:12:22.510 に答える