プロデューサーはrabbitmqにメッセージを送信し、コンシューマーはrabbitmqからメッセージを受信し、コンシューマーはrabbitmqを介してメッセージをプロデューサーに送り返します。
出来ますか?
プロデューサーはrabbitmqにメッセージを送信し、コンシューマーはrabbitmqからメッセージを受信し、コンシューマーはrabbitmqを介してメッセージをプロデューサーに送り返します。
出来ますか?
RPC タイプのシステムを実装しようとしていますか、それともメッセージを双方向に送信する方法を知りたいだけですか?
基本パイプは一方向です。コンシューマーがプロデューサーからメッセージを受信したのと同じキューを介して、コンシューマーからプロデューサーにメッセージを送信することはできません。
他の方法でメッセージを送信する場合は、コンシューマーもプロデューサーである必要があり、プロデューサーもコンシューマーである必要があります。
プロデューサは、コンシューマから応答を返すために、コールバック キューと呼ばれる別のキューを必要とします。プロデューサーは、reply_to と correlation_id を使用してリクエストを送信できます。次に、Consumer は、reply_to をルーティング キーとして使用して、正しいコールバック キューを指すことができます。Producer は、コールバック キューをデキューして、correlation_id と一致させることができます。
はい、可能ですが、プロデューサーはクライアントがパブリッシュ/プロデュースするキューもリッスンする必要があります... 、プロデューサーからクライアントに送信される最初のメッセージで(プロデューサーの)キュー名/ルーティングキーを送信できます。 . クライアントは、内部にルーティングキーを含むメッセージを受信した後、メッセージを元のプロデューサーに送信できます