2017-06-08 6 views
0

私はプロジェクト用の分散システムを実装していますが、Req/Resパターンを正しく実装する方法について少し混乱しています。基本的には、タスク処理と応答のためにクライアントに要求を送信するいくつかのエンドポイントがあります。そこで、基本的Node.jsを使用したZeroMQリクエスト/レスポンスパターン

  1. 着信要求が
  2. エンドポイントが
  3. Brokerが要求を受けたブローカーとREQとRESソケットタイプを開く受信され、利用できる労働者
  4. 労働者へのプロキシを応答し、エンドポイントは処理された値を受け取り、エンドポイントを介してそれを報告します。

ここでまともな負荷分散ブローカースクリプトが見つかりました:http://zguide.zeromq.org/js:lbbroker。実装に興味のある非同期のクライアント/サーバパターンもあります:http://zguide.zeromq.org/js:asyncsrvロードバランスの実装に適応するかもしれません。

私の質問はおそらく少し単純ですが、各エンドポイントはすべての要求に対して新しいソケットを開いたり、要求ごとにソケットを開いたり開いたりしますか?これは、エンドポイントに対して行われたすべての要求に対してn個の接続が存在することを意味します。

答えて

0

ソケットを開いたままにしておくと、リクエストごとにソケットを閉じる必要はありません。そして、すべてのエンドポイント(クライアントとサーバー)に1つのソケットが1つあります。サーバー側では、ソケットからリクエストを読み込み、レスポンスをソケットに書き戻します。 zmqは、応答が正しいクライアントから戻ってくることを保証します。

関連する問題