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