0

我们使用独立的集群 JMS 服务器托管集群应用程序服务器。应用程序服务器是主动/主动和负载平衡,而 JMS 服务器是主动/被动(共享存储)并使用操作系统集群。这意味着从客户端的角度来看,每个端点只有一个端点。

现在我们的任务是连接到外部 JMS 集群(主动/被动),但他们似乎希望我们在 JMS 客户端中实现故障转移,换句话说:如果可能,连接到主节点,必要时故障转移到辅助节点。

冒着听起来无知的风险,我从未见过这样的设置,但一些谷歌搜索似乎表明这似乎或多或少是 JMS 的标准做法。

那么我的问题是:如果您愿意,为什么 JMS 提供者似乎更喜欢“客户端集群”,而不是经典的负载平衡或其他服务器端集群方法?真的是行业标准吗?

4

2 回答 2

1

现在我使用 MySQL Cluster 运行多个 Open MQ,请参阅此链接 (http://mq.java.net/OpenMQ_MySQLCluster_Setup_Guide.html)

对于此服务器拓扑,如果您在 EJB 容器上运行,您可以连接到任何节点(代理 1、代理 2),只需配置(取决于您使用的中间层)当某个节点死亡时,它将由容器自动切换。

于 2013-01-09T09:38:03.870 回答
0

我只在 JMS 中使用过主动/主动集群,其中两台服务器都获取每条消息(它们相互交谈以保持同步)。他们没有共享磁盘子系统,因为它们位于不同的数据中心。客户端配置有两台服务器,但一次只连接一台。(通常是本地 JMS 服务器)故障转移对客户端是透明的。

我还看到了具有两台本地服务器和一台非本地服务器的配置,因此一台服务器的故障不需要通过 WAN 连接到另一个数据中心。我自己没有设置这样的配置。

对于系统管理员来说,使用共享存储听起来很酷,但缺点是它对软件不太透明。如果您有一个应用程序支持自己的故障转移,那么恕我直言。即,如果服务没有故障转移,我只会使用共享存储。

于 2013-01-09T09:26:03.523 回答