【问题标题】:load balancing with http-proxy使用 http-proxy 进行负载均衡
【发布时间】:2012-08-16 13:24:30
【问题描述】:

我正在查看http-proxy module,基本上我所理解的是它在具有相同端口的两个不同主机之间切换。那么问题来了,是否可以在使用相同主机时在两个不同端口之间切换(例如,两个主机都是 IP 地址)?

【问题讨论】:

  • 你不觉得负载均衡一个问题就够了吗?

标签: javascript node.js load-balancing node-http-proxy


【解决方案1】:

您可以在任意数量的端口上的任意数量的主机之间进行平衡。 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 请求)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-16
    • 2014-09-12
    • 1970-01-01
    • 2017-05-09
    • 2012-11-15
    • 1970-01-01
    • 2017-01-20
    相关资源
    最近更新 更多