没有负载均衡器的Glassfish故障转移

时间:2009-01-08 07:27:13

标签: glassfish cluster-computing failover

我有一个Glassfish v2u2集群有两个实例,我想在它们之间进行故障转移。我在这个主题上阅读的每篇文章都说我应该在Glassfish前面使用负载均衡器,比如Apache httpd。在这种情况下,故障转移可以工作,但我再次遇到单点故障。 Glassfish是否能够在没有负载均衡器的情况下进行故障转移?

3 个答案:

答案 0 :(得分:1)

我们解决了这个问题,我们有两个IP地址都响应URL。 DNS提供商(DNS Made Easy)将在两者之间循环。将超时设置为低将确保如果一个服务器发生故障,另一个服务器将应答。当一台服务器停止响应时,DNS Made Easy将仅发送另一台主机作为服务器以响应此URL。您必须信任DNS提供商,但您可以购买具有极高DNS查询可用性的服务

对于高可用性,您可以进行群集设置,允许会话复制,以便用户不会丢失超过可能失败的一个请求。

答案 1 :(得分:0)

嗯..根据文档(http://docs.jboss.org/jbossas/jboss4guide/r4/html/cluster.chapt.html)第16.1.2.1节,JBoss可以在没有负载均衡器的情况下进行故障转移。客户端拦截器。

据我所知,glassfish集群在节点之间提供内存中的会话复制。如果我使用Suns Glassfish企业应用服务器,我可以使用HADB,它可以获得99.999%的可用性。

答案 2 :(得分:-1)

不,你不能在应用程序级别这样做。

您的选择是:

  • 循环DNS - 将您的服务器暴露给互联网并让客户端进行负载平衡 - 这非常有吸引力,因为它肯定会启用故障转移。
  • 使用不同的第3层负载均衡系统 - 例如“Windows网络负载平衡”,“Linux网络负载平衡”或我写的名为“Fluffy Linux cluster”的
  • 使用具有故障转移热备份的单独负载平衡器

在任何这些情况下,您仍然需要确保您的数据库和会话数据等可用并在群集成员之间同步,这在实践中要困难得多。