【发布时间】:2022-11-08 10:08:46
【问题描述】:
我有一个 MQ 集群,它有两个完整的存储库队列管理器和两个部分存储库队列管理器。 Java 客户端需要连接到这个集群并且应该 PUT/GET 消息。我应该向 Java 客户端公开哪个队列管理器,它是来自完整存储库的队列管理器还是来自部分存储库的队列管理器?是否有一种模式/反模式/优势/劣势暴露了其中的任何一个?
任何建议将不胜感激。
问候, 耶索塔尔
【问题讨论】:
标签: ibm-mq
我有一个 MQ 集群,它有两个完整的存储库队列管理器和两个部分存储库队列管理器。 Java 客户端需要连接到这个集群并且应该 PUT/GET 消息。我应该向 Java 客户端公开哪个队列管理器,它是来自完整存储库的队列管理器还是来自部分存储库的队列管理器?是否有一种模式/反模式/优势/劣势暴露了其中的任何一个?
任何建议将不胜感激。
问候, 耶索塔尔
【问题讨论】:
标签: ibm-mq
一种经常使用以致被用作成熟的 IBM MQ 特性的模式称为统一集群。之所以这样称呼,是因为集群中的每个队列管理器都托管相同的队列,因此客户端应用程序连接到哪个队列管理器并不重要。
但是,要回答您的直接问题,应该为客户端提供一个 CCDT,其中包含每个队列管理器的条目,该队列管理器托管客户端应用程序正在使用的队列的副本。根据统一集群模式,这可能是集群中的每个队列管理器,或者只是其中的一些。它不需要只是部分或只是完整的存储库队列管理器,而是您正在寻找那些托管队列的人。
如果您不确定那组队列管理器是什么,您可以转到您的完整存储库队列管理器之一并输入以下 MQSC 命令(使用 runmqsc 或您最喜欢的其他 MQSC 工具):
DISPLAY QCLUSTER(name-of-queue-used-by-application) CLUSQMGR
结果列表将在CLUSQMGR 字段中显示托管队列管理器名称。
【讨论】: