如何防止负载均衡器出现故障?

如何防止负载均衡器出现故障?

抱歉,问题有点模糊,但这是我第一次设置负载平衡器,所以我有点担心。

我想创建一个 Glassfish 集群,目前我正在关注这个链接:http://javadude.wordpress.com/2011/04/25/glassfish-3-1-clustering-tutorial/

在上面的教程中,其中一个节点还作为负载平衡器(DAS - 域管理服务器)运行。在我的场景中,我当然打算构建 3 个节点,其中一个节点充当其他两个节点的负载平衡器。

一切都很清楚,但如果充当负载平衡器的节点出现故障,有人能告诉我该怎么办吗?

任何提供的信息都将受到高度赞赏。

答案1

我无法具体谈论glassfish,但用一对LB构建故障弹性LB系统是正常的,其中只有一个在任何时候处于活动状态。

如果 LB 是应用程序,则这在硬件中完成 - 您将拥有一对 LB,通常两者之间有某种直接连接,用于监控/心跳,有时用于状态交换。如果 LB 是基于软件的,并在其中一个平衡节点上运行,则在另一个池节点上运行第二个 LB 是相当正常的。

确保在任何给定时间只有一个 LB 运行非常重要,但本文无法简单介绍。特别是对于基于软件的解决方案,良好的 STONITH 实施和适当的硬件确实有助于实现这一点。

编辑回复您的评论:我接受您的观点,但不行。通常,这样做的方法是拥有一个基础设施,该基础设施知道应该运行某个东西的一个且只有一个实例(在本例中是 LB),并使用浮动 IP 地址来处理两者之间的故障转移。在 Linux 下的软件中,这通常使用 LinuxHA 和 CRM 之类的东西来完成,它们在主 LB 节点和辅助 LB 节点上运行,它们负责确保只有一个节点运行 LB 进程,并确保主节点在决定提升辅助节点时已停止运行。

相关内容