1

私はhttp-proxy モジュールをチェックしています。基本的に私が理解したのは、同じポートを持つ2つの異なるホスト間でシフトするということです。では、同じホストを使用しているときに 2 つの異なるポート間で移行できるかという質問があります (たとえば、両方のホストが IP アドレスです)。

4

1 に答える 1

2

必要な数のポート上のホスト間でバランスを取ることができます。http-proxy はスクリプト可能です。

var servers = [
  {host:'app1.site.com', port:9000},
  {host:'app2.site.com', port:9010},
  {host:'app3.site.com', port:9020}
];
var i = 0;

var httpProxy = require('http-proxy');

httpProxy.createServer(function(req, res, proxy) {
  proxy.proxyRequest(req, res, servers[i = (i + 1) % 3]); // rotate
}).listen(80);

バランスを取るロジックはあなた次第です。上記の例は、ラウンドロビンを実行するだけです。

また、定期的にホストを「テスト」して、ホストがまだ利用可能であることを確認し、そうでない場合は無効にすることをお勧めします (たとえば、OPTIONS リクエストを送信します)。

于 2012-08-16T13:33:56.870 に答える