我想负载平衡+故障转移备份多个vpsnetworking服务器托pipe在不同的供应商。
我听说HAProxy需要在同一个子网下有多台服务器,再加上负载均衡器之间的共享(虚拟)IP地址。
但在我的情况下是不可能的,因为每个VPS都在不同的节点/networking上。
我知道Round Rubin DNS,但是它不提供真正的故障转移解决scheme,既不是服务器之间的负载平衡。
负载平衡和高可用性(HA)是两回事。
是的,您可以使用Nginx为两个或更多节点configuration负载平衡,无论它们位于何处。
对于负载平衡,您有:
DNS – >服务IP – >负载平衡器 – > AppSrv1,AppSrv2,…,AppSrvn – >一个或多个后端
对于高可用性(HA),您有:
基本上,Load Balancer基于客户端IP创build哈希值,并将所有具有该哈希值的stream量转发到相同的AppSrv(为了保留会话等)。 您可以configuration首选的AppSrv,故障转移AppSrv等
您可以在所有VPS上使用LB进行configuration,将stream量转发到本地AppSrv(同一个VPS),如果该AppSrv无法访问,则转发到“备份”VPS。 但是在如此多的层面上实现这样的问题…
HSRP / VRRP / LVS与HAProxy混淆。 虚拟IP部分完全独立于HAProxy。
如果你想要两个不同的VPS提供商之间的单一共享IP,你不能。 你可以做的最好的办法是从同一个提供者那里得到两个VPS,在两者上运行heartbeat + haproxy,然后他们可以在同一个子网内拥有IP。
你是指位于不同地区的不同农场?
然后,您将通过DNS将它们路由到HAProxy可以负载平衡的特定地理位置:
webfarm1 – > HAProxy – > appsrv ..
webfarm2 – > HAProxy – > appsrv ..
您也可以在跨越地理区域的vps之间进行负载平衡,但最终的结果不会那么好:这种设置服务器通常是静态内容,如CDN。