0

ポートが異なる 2 つの同じホスト間のバウンスに問題があります。

そのため、node.js でモジュールbouncyを使用しています。同じホスト (localhost) で 2 つのアプリケーションをホストしていますが、異なるポートをリッスンしています。

私は使用していますroutes.json

{ "localhost" : 8001, "localhost" : 8000 }

コマンドラインで弾むように指定します。

しかし、2 つの同じホストでは機能しないようです。ポートを持つホストのみが機能し8000ます...

これに対する解決策はありますか?前もって感謝します

4

1 に答える 1

1

のポイントを誤解していると思いますroutes.json: ハッシュのキーは仮想ホスト名を表します。

たとえば、次のようなドメイン名で機能します。

{ "dev.xx.com" : 8001, "prod.xx.com" : 8000 }

ファイルベースの構成は、検査req.headers.hostしてトラフィックをルーティングする場所を決定することによって機能します。

「localhost」で同じアプリの 2 つのインスタンスの負荷を分散しようとしていますか? その場合、ノードに組み込まれているクラスター ライブラリを確認する必要があります: http://nodejs.org/api/cluster.html

編集:

クラスタとバウンシーの両方を使用して、リクエストの負荷を分散できます。弾力性を使用する場合は、単純なラウンドロビン方式を自分で作成する必要があります (routes.json は使用できません)。クラスターにはそれが組み込まれています。

弾むことのもう 1 つの欠点 (特定のユース ケースの場合) は、弾むことが要求をバウンスするサーバーを監視しないことです。両方のサーバーが応答しているかどうかを確認するには、弾むようにロジックを追加する必要があります。繰り返しますが、これはすべてクラスターに組み込まれています (サーバーを子プロセスとして実行し、サーバーがダウンした場合に再起動できます)。クラスターを使用して、要求を失うことなく新しいコードで子サーバーを安全に再起動することもできます。

全体として、Bouncy をプロキシとして使用する場合は問題ありませんが、クラスターは負荷分散するように作られています。

于 2012-08-15T14:41:53.973 に答える