如何JBoss / Blazeds群集和通道故障转移

时间:2010-04-06 15:56:59

标签: jboss blazeds cluster-computing failover channel

我坚持使用jboss和blazeds群集。 我现在拥有的是:

  1. 2个Jboss实例,以所有模式运行
  2. 一个带有apache和mod_jk的负载均衡器,正如Jboss docs
  3. 所建议的那样
  4. 弹簧/弹性集成应用
  5. 当我的一个JBoss实例失败时,我不想抛出错误的flex应用程序
  6. 我发现Adobe文档确实缺乏,并且在群集,jgroup和平衡方面都是新手我无法找到如何在群集环境中部署我的应用程序。

    实际上这个解决方案可以正常使用远程调用。如果其中一个jboss实例发生故障,则rpc将路由到另一个实例。什么是无效的推送消息,因为如果客户端连接到JBossA,并且JBossA发生故障,客户端会显示一条错误消息,指出它无法到达JBossA,何时应该故障转移到JBossB,而无需用户注意任何事情。< / p>

    根据我的理解,如果配置正确blazeds应告诉flex客户端连接时故障转移服务器。然后,如果flex客户端无法连接到主服务器,则会转到另一个服务器。但对我来说困难的部分就是到达那里。 有人能指出我正确的方向吗? 提前致谢

1 个答案:

答案 0 :(得分:0)

如果您的客户端和JBoss服务器之间有一个apache Web服务器,并且mod_jk处理apache和JBoss之间的通信,那么这应该是您已经满足的故障转移要求。

mod_jk将检测是否有任何JBoss服务器发生故障,并将请求发送给另一个JBoss服务器。就客户而言,他们看到一台服务器,即apache服务器。他们看不到它背后的JBoss服务器。

我对BlazeDS集群一无所知,但我猜它有某种形式的手动故障转移机制,它告诉客户端服务器地址列表,客户端选择一个有效的。只有当你没有mod_jk中间人时才应该这样做,所以希望你可以忽略blazeds群集。

当然,事情可以变得更加复杂,例如当你需要JBoss服务器在它们之间进行通信时(例如会话复制,集群JMS,分布式缓存等),但如果你不需要任何那,你可以放心地忽略它。