受堆栈溢出networking的启发,我现在痴迷于HAProxy并尝试自己使用它。
目前,每个HAProxy盒子都有两张网卡(好了,configuration了两张),我最多可以有4张,不确定是否需要自己的盒子进行pipe理。
在这两台机器上,后端一个(eth1)是一个专用IP,连接到networking服务器的交换机,面向前端(eth0)的公用互联网IP直接路由。
另外,我为eth0创build了一个名为eth0:0虚拟ip,它拥有第三个公共ip地址。
我只是想知道如何使用它来在负载均衡之间的多个Web服务器之间进行负载平衡,但是,我无法在两个HAProxy盒子之间进行负载均衡 – 它们似乎在争夺虚拟IP,但是,这似乎并不做个聪明的解决scheme
现在,通过使用虚拟共享IP地址,这个解决scheme似乎可以正常工作,而且确实给了我最大的正常运行时间,但是,这是正确的方法吗?还是有更智能的方法?
我一直在寻找其他的Linux软件包,比如keepalived,但是我现在只用了一个星期的Linux(服务器),而且是我理解的极限。
有没有人曾经这样做过,并且能够提供最大的正常运行时间?
如果你想负载平衡两个不同haproxies之间的stream量,你需要有另一个负载均衡器在他们面前,这将是没有用的。
如果你想获得更高的可用性,你已经使用了两个haproxies和VIP,通过keepalived或heartbeat分配给其中的一个。 通常,这是HA和负载平衡问题的解决scheme。
我可以想到一个方法同时使用两个haproxies。 您可以configurationkeepalived为每个haproxy服务器分配一个VIP。 负载均衡可以通过DNS完成。 DNS名称应parsing为两个VIP。 当一个haproxy失败时,另一个节点将持有这两个VIP并接收所有stream量。