2013-11-25 9 views
8

誰も私がどのように相関IDを使用することができるかの例を教えてもらえますか?メッセージングでの相関IDの使用例

リクエスト/レスポンスタイプのメッセージで使用されていますが、どこで使用するのか分かりません。

1つの例(私は間違っているかもしれません)私は、5人の加入者を持つことができる公開購読シナリオであり、同じ相関IDを持つ5つの返信を受け取った場合、すべての加入者がそれを受け取ったと言うことができます。これが正しい使用方法であるかどうかは不明です。

単純なメッセージを送信した場合、その相関関係を使用してクライアントが受信したことを保証できます。

他の例はありますか?

+2

あなたはhttp://www.rabbitmq.com/tutorials/tutorial-six-java.htmlを見ましたか? 'correlation_id'についてはかなり良い説明があります。 – pinepain

+3

ここで[Correlation and Conversations](http://www.eaipatterns.com/ramblings/09_correlation.html)にパターンの詳細が表示されます。 HTH –

+0

返信いただきありがとうございます。今、私は相関IDの要点を取得していますが、相関IDが使用されている実生活の例はどうですか? –

答えて

5

外部ユーザーに処理タスクを実行するためのHTTP APIを提供しているWebアプリケーションで、呼び出し元の結果をHTTPリクエストへの応答として渡す必要があります。

要求が到着すると、タスクを説明するメッセージがフロントエンドサーバーによってキューにプッシュされます。その後、フロントエンドサーバーは、同じ相関IDを持つ応答メッセージを待機するようにブロックします。ワーカーマシンのプールは待ち行列で待機しており、そのうちの1人がタスクを選択して実行し、その結果をメッセージとして返します。正しい相関IDを持つメッセージが入ったら、フロントエンドサーバーは応答を呼び出し元に返し続けます。

4

CQRS and EventSourcingの文脈では、コマンドメッセージの相関IDは、ドメインからの対応するイベントとともに格納される可能性が最も高い。この情報は、後にaudit trailを形成するために使用することができる。

+0

あなたはcorrelationIdに渡すもののより具体的な例を挙げることができますか?ありがとう – Marconi

関連する問題