使用 Rackspace 云中的负载均衡器实现网站高可用性

使用 Rackspace 云中的负载均衡器实现网站高可用性

我已经tomcat specific clustering使用 apachemod_jkmod_proxyubuntu 本地虚拟机对我们的网站high availability和进行了测试load balancing。真正的服务器由Rackspace cloud服务器提供商托管。我使用 1 个负载均衡器和 2 个 Web 服务器测试了 tomcat 集群。由于单个负载均衡器又是single point of failure,我正在尝试添加另一个 LB 作为从属。

在 Rackspace 中有一个Load Balancers选项这里是指导如何设置负载均衡器的链接,但由于一些疑问,我不确定是否要设置,因为我以前从来没有这样做过。

有人可以逐步地建议我应该做什么和不应该做什么,只使用必要的资源以避免不必要的成本吗?

以下是我不确定的事情,并请求已经使用 Rackspace 的人帮助我设置负载平衡:

  • 我想添加至少 4 台机器,其中 2 台作为 Web 服务器,1 台作为负载平衡服务器,另外 1 台作为故障转移负载平衡服务器。我想我可以从 Rackspace 负载平衡器选项中添加新机器吗?

  • 我刚刚听说,通过在 LAN 中设置集群,为集群计算机分配私有 IP 地址,可以降低静态 IP 的成本,这样我也可以降低带宽成本。在 Rackspace 中真的可以在 LAN 中加入集群计算机吗?

  • 据我所知,我会将域名(网站名称)指向注册域名的 DNS 中的负载均衡器,并且两个 LB 都应分配有静态公共 IP(我想我是对的)。正如我已经说过的,我想添加一个 LB 以避免单点故障,Rackspace 中是否有任何选项可以将网站域名指向两个 LB,以便只有一个处于活动状态,如果活动失败,它应该指向另一个 LB(类似于ip failover),这样我就可以使它成为零停机时间网站?

如果可能的话,我请求有人能给我提供在 Rackspace 中如何执行这些操作的分步列表,并就我应该做什么和不应该做什么提出建议。

先感谢您!

编辑:1

我听说 Rackspace 提供share an ip计算机之间的连接,是吗?那么我可以使用此选项。我将在eth0:0两个负载平衡器上的网络接口文件中将公共/共享 IP 指定为虚拟 IP。你真的认为即使将公共 IP 指定为具有 eth0:0 接口的虚拟 IP,它也能完美运行而不会中断吗?

编辑:2

我当时想的设置是将所有计算机(Web 服务器和负载均衡器)放在一个 LAN(在 Rackspace 中)中,并使用某个网络(192.168.x.x)使用eth0接口。对于负载均衡器,对于接口eth0:0eth1,LB 之间共享一个公共 IP,LB 上的 mod_proxy 和 mod_jk 将它们重定向到 Web 服务器,因为它们可能位于同一网络(192.168.xx)中。

经过一番分析,我意识到我无法从我的地方直接访问用于测试的 Web 服务器,因为它们没有分配公共 IP,因此我再次想到ProxyPass /web1 http://web1-ip-here在 LB 上添加一些代理重定向,以便使用共享公共 IP 或站点域名访问 Web 服务器(我认为它会重定向,因为所有服务器都在 LAN 中)。但同样,要更新或在 Web 服务器上安装某些软件包,需要互联网连接。我再次想知道是否有一个选项可以使用 LB 上的单个公共 IP 将 Web 服务器连接到 WAN,如果是,是否可以正常工作。否则我必须为每个 Web 服务器使用公共 IP。

答案1

首先,既然你只需要 2 台机器,为什么还需要 4 台机器呢?你可以在计划用作 Web 服务器的机器上设置负载平衡器。接下来,你可以购买所谓的“共享 IP”来自 Rackspace 并设置 Heartbeat 来管理它。我尝试在 Rackspace 云上进行此设置,效果很好。我使用 HAProxy 作为平衡器,我强烈建议您也使用它,它非常容易配置。

答案2

这里有两个不错的选择:

1:基于硬件的负载平衡作为 Rackspace 服务

最近,Rackspace 增加了负载平衡服务,对于普通的网页转发来说,这将是您更可靠、更划算的选择。从您的帐户管理面板,您可以进入“托管”->“负载平衡”下的负载平衡选项

2:基于软件的负载平衡和故障转移

当然,您可以设置两台服务器进行负载平衡,并使用 HAProxy 等软件来轮询传入流量。这将需要您支付和维护两台服务器的费用,以及在两台服务器之间共享额外公共 IP 地址的额外费用。

服务器实际上并不“共享” IP 地址 - “主服务器”控制它,并且是负载平衡的公共联系点。两台机器通过心跳监控连接在一起,如果“从服务器”检测到“主服务器”没有响应,它将绑定公共 IP 地址并成为主服务器。

Rackspace 在其网站上有一篇文章,描述了设置心跳负载平衡解决方案的过程:http://www.rackspace.com/knowledge_center/index.php/IP_Failover_-_Setup_and_Installing_Heartbeat

答案3

根据 RS 支持,RS LoadBalancer 最多可以处理 150,000 个连接。它们实际上是多个(我猜是虚拟的)具有面向公众 IP 的机器。根据我们的经验,它们的正常运行时间相当长,并且非常容易设置和关闭。我发现使用 RS LB 的一个主要缺点是它们不执行 SSL 终止(目前)。

相关内容