我们有几个后端农场(HTTP,FTP等),基本上每个客户都有一个农场,而我即将重build我们的负载平衡基础设施,从Piranha迁移到HAProxy 。
由于我们正在使用几个不同的后端服务器场 ,因此Piranhaconfiguration当前如下所示(示例显示了服务器场webserv01 ,第二个服务器场webserv02使用相同的configuration,但具有不同的虚拟IP):
virtual webserv01 { active = 1 address = 10.11.11.1 eth2:30 vip_nmask = 255.255.255.0 port = 80 send = "GET / HTTP/1.0\r\n\r\n" expect = "HTTP" use_regex = 0 load_monitor = none scheduler = rr protocol = tcp timeout = 6 reentry = 15 quiesce_server = 0 server webserv01v { address = 192.168.101.64 active = 1 port = 80 weight = 1 } server webserv02v { address = 192.168.102.64 active = 1 port = 80 weight = 1 } server webserv05v { address = 192.168.101.65 active = 1 port = 80 weight = 1 } server webserv06v { address = 192.168.102.65 active = 1 port = 80 weight = 1 } }
(例如,客户1拥有使用vIP 10.11.11.1:80的自己的networking服务器场,客户2拥有使用vIP 10.11.11.2:80的服务器场)。 我很好奇,如果一个HAProxy实例能够使用不同的唯一vIP地址处理同一个服务的多个服务器场。
基本设置将如下所示:
2个HAProxy实例(具有故障转移)
4个HTTP后端服务器场(每个客户一个)
2个FTP农场
为了使事情更清楚,请查找附加2个Web服务器场的概念HAProxyconfiguration示例。 注意不同的虚拟IP:
#--------------------------------------------------------------------- # LB: VIRTUAL WEBSERVER POOL #01 #--------------------------------------------------------------------- frontend vWEB-LB-01 bind 10.11.11.1:80 mode http default_backend vWEB-Pool-01 backend vWEB-Pool-01 mode http balance roundrobin server webserv01v 192.168.101.64:80 check weight 100 inter 1000 server webserv02v 192.168.102.64:80 check weight 100 inter 1000 server webserv05v 192.168.101.65:80 check weight 100 inter 1000 server webserv06v 192.168.102.65:80 check weight 100 inter 1000 #--------------------------------------------------------------------- # LB: VIRTUAL WEBSERVER POOL #02 #--------------------------------------------------------------------- frontend vWEB-LB-02 bind 10.11.11.2:80 mode http default_backend vWEB-Pool-02 backend vWEB-Pool-02 mode http balance roundrobin server webserv01v 192.168.101.75:80 check weight 100 inter 1000 server webserv02v 192.168.101.76:80 check weight 100 inter 1000 server webserv05v 192.168.101.68:80 check weight 100 inter 1000 server webserv06v 192.168.101.69:80 check weight 100 inter 1000
HAProxy和/或keeoalive可以如何处理它显示的方式? 如果是,我将如何处理?
我想在两个HAProxy实例之间使用keepalived进行故障转移,并让它们为后端服务器场做负载平衡。 有点困惑,现在我需要使用多个虚拟IP地址,任何有识之士将不胜感激!
是的,HAproxy将做到这一点。 您只需要configurationHAproxy将使用的所有虚拟IP即可。 您可以在keepalived.conf中的virtual_ipaddress块中分配多个IP:
virtual_ipaddress { 192.168.0.10 192.168.0.11 192.168.0.12 192.168.0.13 }