【问题标题】:JMS Clustering: active/passiveJMS 集群:主动/被动
【发布时间】:2013-01-09 17:38:03
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: java jms


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-20
        • 2011-08-03
        • 2023-03-10
        • 2011-08-22
        相关资源
        最近更新 更多