我已经tomcat specific clustering
使用 apachemod_jk
和mod_proxy
ubuntu 本地虚拟机对我们的网站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:0
或eth1
,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 终止(目前)。