1

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

  1. 2 个 Jboss 实例,以所有模式运行
  2. 正如 Jboss 文档所建议的那样,一个带有 apache 和 mod_jk 的负载均衡器
  3. 一个 spring/flex 集成应用程序
  4. 一个弹性应用程序,当我的一个 JBoss 实例下降时我不想抛出错误

我发现 Adob​​e 文档确实缺乏,并且在集群、jgroups 和平衡方面是新手,我找不到如何在集群环境中部署我的应用程序。

实际上,此解决方案适用于远程调用。如果其中一个 jboss 实例发生故障,则 rpc 将被路由到另一个实例。推送消息不起作用,因为如果客户端连接到 JBossA,并且 JBossA 出现故障,客户端会显示一条错误消息,说明它无法到达 JBossA,何时应该故障转移到 JBossB,而用户没有注意到任何事情。

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

4

1 回答 1

0

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

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

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

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

于 2010-04-06T18:10:15.240 回答