(我看了其他的问题,我不认为他们中的任何一个都是这样的)
我正在为我们的web服务器场寻找负载平衡解决scheme。 我们目前使用Cisco CSS11000系列设备,但是这些设备有一些限制:
目的:
思路:
两对HAProxy。 我们将使用HAProxy套接字控制机制( http://code.google.com/p/haproxy-docs/wiki/UnixSocketCommands )正常删除networking服务器。 每一对将使用心跳维护服务,我们将修改DNS指向另一对将新的用户连接移动到另一对。 需要某种forms的监控来告诉我们何时某个对有0个活动连接。
两台Linux机器通过iptables和-m随机模块进行平衡。 我会使用心跳来让HA VIP保持在其中一台机器上,我会使用conntrackd来同步TCP连接状态,这样我们就可以在不丢失服务的情况下进行故障切换。 将需要一些脚本来插入/删除iptables规则取决于后端的状态(除非有人知道一个工具?)
有没有人对上述有任何意见? 还是其他/更好/免费的想法?
谢谢!
HAProxy是伟大的(从经验),我不知道你是否知道更新的function,如同步使用peers指令的棍子表(如果你有持久性启用)。 有关更多信息,请参阅1.5手册: http : //haproxy.1wt.eu/download/1.5/doc/configuration.txt
HAProxy还能够支持IPv6 – > IPv4转换; 如果您的内部networking仍在使用IPv4地址,但是您的公共networking不是,则非常有用。
有一件事从你的列表中遗漏–LVS / IPVS是Linux内核的一部分。 它也是IPv6的能力(虽然不能翻译,因为不是代理)。 性能非常好,通常与ldirectord(一个Perl守护进程)一起用于健康检查和服务器脱机/联机function。 http://horms.net/projects/ldirectord/ 。 您可以优雅地重新加载ldirectordconfiguration文件,或直接使用ipvsadm命令使服务器脱机,更改权重等.LVS也具有同步function: http ://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS- HOWTO.server_state_sync_demon.html
您没有提到是否需要持久性/粘性,但LVS可以坚持源IP,HAProxy有几种select:Cookie,源IP,RDP cookie。
虽然不能执行SSL终止,但这可以由Stunnel,Pound和其他几个人来处理。
Apache Traffic Server看起来非常有前途。 我现在使用的是BigIPs,这对你所寻找的东西来说很好,但是我不相信你可以节省任何资金。
看看你的目标,我build议你跟KEMP Technologies(www.kemptechnologies.com)交谈,我现在用它来做我自己的networking应用程序,你可以禁用networking服务器,从服务器上去掉连接,这样新的连接就转到其他的连接上服务器和现有服务器将保持一段时间,并将逐渐迁移到其他服务器。 它们提供了高可用性,可以select在单元之间同步连接和关联/持久性表,以便第二个单元知道客户端在通过第一个负载平衡器时连接了哪个服务器。 他们也提供SSL卸载,如果您有大量的SSLstream量,也可以用硬件完成。
他们的成本价值增值清单非常短,这使得在第一次尝试时就可以更容易地获得您想要的东西。