使用http-proxy进行负载均衡

我正在检查http-proxy模块 ,基本上我知道它在具有相同端口的两个不同主机之间切换。 所以这里的问题是在使用同一台主机的时候可能在两个不同的端口之间切换(例如,两台主机都是IP地址)?

您可以根据需要在多个端口之间平衡多个主机。 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); 

你做平衡的逻辑取决于你。 上面的例子只是一个循环。

您可能还想要定期“testing”主机,以确保它仍然可用,并禁用它,如果不是的话(例如发送OPTIONS请求)。