在EC2的Web服务前端的零停机时间可用性?

我们有一个低负载但高可用性要求的Web应用程序。 它由一个单一的前端负载均衡器和一对后端服务器组成。 负载均衡器主要用于屏蔽故障,而不是传播负载。

后端服务器通过跨两个可用区域的复制而变得高度可用。 但是,如何使前端提示本身高度可用? 这是目前单一的失败点。

我们可能会使用AWS Elastic Load Balancing,但有点昂贵,我们再也没有真正需要负载均衡的部分,所以:您将如何以另一种方式解决这个问题?

接近的一个想法是用ping或心跳监视前端; 超时时,将前端的Elastic IP切换到另一台configuration为前端的机器。 我主要关心的是,弹性IP分配显然需要10分钟才能传播。

任何比这种方法更快的响应时间? 认为零停机是可能的?

以另一种方式旋转这个问题:您将如何在常规的自托pipe数据中心中完成此任务,而您没有AWS Elastic Load Balancing?

快速,可靠,便宜。 选两个。

老实说,“零宕机”是所有意图和目的都不可能的。 你想要零停机时间,但似乎并不表示你愿意花这么多钱。

我相信你的心跳正确,将前端的IP转移到另一个节点。 除此之外,任何涉及到承包CDN(如Akamai或Limelight)的服务,或者获得AS号码,configurationBGP,获得IP分配,在两个地理距离的colos上设置设备并在它们之间复制数据。 这两种select中的任何一种都可能相当昂贵且复杂。

在查看Amazon的ELB服务时,请记住,它使用CNAMElogging,因此您将无法负载平衡您的域的根(example.com)。 您必须使用像www.example.com这样的子域名,并让机器接受发送到example.com的stream量,将客户端redirect到www.example.com。 这给你一个单一的失败点。 关于这个问题的更多讨论可以在Amazon论坛上find: http : //developer.amazonwebservices.com/connect/thread.jspa? threadID= 32044

跨越两个或更多电信级networking的您自己的AS号尽可能接近零停机时间。 有多个物理网站在线。 这就是说EC2接近零停机时间。

有两个负载平衡器在主动/被动或主动/主动,你可以避免spof。

只要记住,在主动/主动的情况下,你的两个lbs将同时工作,如果两个都失败了,另一个就会接pipe。