私は分散アプリケーションに取り組んでいます。ネットワークは ZMQ (jeromq) に基づいています。私のアーキテクチャは次のとおりです。
N Clients (Dealer socket) <---> (Router) Proxy (Dealer) <---> 1 (Dealer) Reciving Worker
<---> N (Dealer) Processing Workers
- したがって、私の受信ワーカーは、メッセージをリッスンしてキューに入れる別のスレッドで実行されています。
- 処理ワーカーはキューからメッセージを取得し、何らかの処理を行ってからクライアントに送り返します (処理ワーカーはプロキシ バックエンドに接続されます)。
クライアントがメッセージを送信すると、それは受信ワーカーによって受信され、キューに入れられ、処理ワーカーはそれを受け取り、何らかの処理を行って返信し、クライアントは応答を受信してから別の要求を送信します。その要求はそうではありません受信ワーカーによって受信されますが、クライアントによって送信されます。基本的に、最初の「ラウンド」のみが機能します。ここで何が欠けていますか?!