繁体   English   中英

JMS集群:主动/被动

[英]JMS Clustering: active/passive

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

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

冒着听起来有些igno昧的风险,我从未见过这样的设置,但有些搜索似乎表明这似乎是JMS的标准做法。

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

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

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

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

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

对于系统管理员来说,使用共享存储听起来很酷,但缺点是它对软件的透明性较差。 如果您有一个应用程序支持其自身的故障转移,那最好是恕我直言。 即我只会在服务没有故障转移的情况下使用共享存储。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM