Ibm mq WebSphere远程MQ群集

Ibm mq WebSphere远程MQ群集,ibm-mq,ibm-integration-bus,Ibm Mq,Ibm Integration Bus,我有两台机器——机器1和机器2。机器1有一个队列管理器QM1和一个代理(集成服务器)BR1,机器2有一个队列管理器QM2和一个代理(集成服务器)BR2。我想在QM1和QM2之间建立一个集群。我在QM2中创建了一个名为INVENTQ的远程群集队列。问题是我能够成功地在任何队列管理器上发布任何消息,并且我能够在QM2中的INVENTQ上看到相应的消息。但是我希望体系结构能够这样,即除了创建队列INVENTQ的队列管理器(即QM2)之外,我还能够从任何队列管理器接收来自队列的消息。有人能在这方面指导我

我有两台机器——机器1和机器2。机器1有一个队列管理器QM1和一个代理(集成服务器)BR1,机器2有一个队列管理器QM2和一个代理(集成服务器)BR2。我想在QM1和QM2之间建立一个集群。我在QM2中创建了一个名为INVENTQ的远程群集队列。问题是我能够成功地在任何队列管理器上发布任何消息,并且我能够在QM2中的INVENTQ上看到相应的消息。但是我希望体系结构能够这样,即除了创建队列INVENTQ的队列管理器(即QM2)之外,我还能够从任何队列管理器接收来自队列的消息。有人能在这方面指导我吗

MQ没有“远程获取”功能-即您不能使用到队列管理器的本地绑定并从另一个队列管理器获取消息。如果要执行此操作,需要使用客户端绑定转到消息直接驻留的队列管理器

在MQPUT时,必须(在putting队列管理器上)决定将消息转发到何处(例如,哪个本地队列,或者哪个传输队列将消息传递给另一个队列管理器)

在集群设置中,如果您在一个队列管理器上定义了一个队列并将其放入集群,则来自任何集群队列管理器的任何人都可以将其当作本地队列放入。但是,它们的MQPUT导致消息(通过集群通道)到达一个特定实例。因此,当您可以将消息放入队列时,无法从其他队列管理器获取消息

按照@JoshMc的建议,您可以在多个队列管理器上定义一个具有相同名称的队列并进行集群,但这意味着在MQPUT时,消息被路由到一个队列,并且只路由到一个队列,该队列的实例-如果将其路由到远程队列管理器群集定义,您仍然无法从本地队列管理器获取它。假设您有一个由3个QMGR组成的集群。您可以在其中两个队列中创建名为“FRED”的集群队列。它们都可以放入FRED,但其中两个将默认为仅放入本地队列(除非设置CLWLUSEQ=ANY),另一个将(通常)在两个远程实例之间交替。每个队列上肯定会有不同的消息


在这两个页面上都创建。写得很好,Jason。我的时间很短:)如果我将具有相同名称(INVENTQ)的队列添加到集群中的两个队列管理器中,那么我猜每个队列管理器都会将消息放入其本地队列中,并且两个队列管理器中的队列“INVENTQ”将具有不同的消息集。我认为这违反了集群原则。否则,在两个队列管理器中创建同名队列时可能会发生冲突。请参阅上面的编辑。。。我想问题是你想用你的感知设置实现什么。为什么希望2个QMGR每个都能够从队列中检索消息。工作负载平衡吗?高可用性?冗余等等,我需要高可用性,以便在其中一个队列管理器发生故障时,我能够使用另一个队列管理器接收相同的消息集。假设我在集群中部署了一个BAR文件,那么它应该部署到两个队列管理器中,这样,如果其中一个队列管理器发生故障,我可以从另一个队列管理器中检索它。我检查过我们可以从多实例队列管理器中获取它,但我想这在主动-被动模式下可以工作,但需要在主动/主动模式下执行。显然,您想购买一台大型机,以便获得共享队列支持。。。。除此之外,一旦消息位于队列文件的磁盘上,如果qmgr脱机,则无法访问它。因此,对于分布式系统,这使得多实例/HA成为在故障期间保持对它的访问的唯一方法。不要忘记,您可以在一个节点上运行active/standby,在另一个节点上运行standby/active,这样两个QMGR都保持活动状态,并且在出现故障时,它们都在同一个节点上运行