比方说,我有一个完全正常工作,负载平衡的应用程序服务器环境。
所有服务器都必须优雅地进行故障切换。 使用应用程序服务器相对容易,但是如何使用前端负载均衡器实现故障切换?
我可以让多个负载均衡器监听同一个IP和端口吗? 一旦我发现旧的死亡,我需要运行一个新的?
基本而言:
主动/被动群集中的高可用性基本上与您使用的技术无关,因此上述内容适用于负载平衡器,数据库服务器,虚拟机监控程序等。
在Linux中,这是通过组合工具完成的,其中一个实际上称为heartbeat (并且同步您的configuration通常是用drdb完成的)。
在Windows中,通常使用故障转移群集或networking负载平衡,两者都提供由多个服务器共享的虚拟IP地址。 同步您的configuration可以使用DFS-R进行networking负载平衡,或者集群实际上可以共享一个registryconfiguration单元,并在故障转移的情况下重新configuration它。
对于某些“真实的”Web服务器,我可能会在几天内testing以下内容作为高可用性负载平衡器:
Pound作为反向代理和负载平衡器 Keepalived负责IP故障转移 我将运行一个主动/被动configuration,即每个IP(我有大约20个)只在其中一个服务器上处于活动状态。 如果其中一台服务器出现故障,另一台服务器将处理所有的IP。 英镑可以检测是否有一个networking服务器失败,并作出相应的行为:磅不会redirect任何请求,直到它再次healty。
不知道是否可以将类似的解决scheme应用于您的应用程序服务器,但我完全引用了Mark Henderson
虽然这个概念是相同的,但“硬件”负载均衡器往往只是使用上述概念的专有实现