Ibm mq 远程队列、本地队列和别名队列之间有什么区别

Ibm mq 远程队列、本地队列和别名队列之间有什么区别,ibm-mq,Ibm Mq,有人能举例帮助理解这3个队列的基本情况吗?我们什么时候使用所有3个队列?简单地说,队列管理器只在本地队列或该队列管理器上的传输队列上承载消息。如果要转到另一个队列管理器,可以使用一些定义,这些定义告诉队列管理器“put”正在运行,以及如何将消息路由到目标队列管理器-但是,这最终会在传输队列上生成一条消息,然后将该消息拾取并沿通道发送到该目标。别名队列只是为另一个队列使用不同名称的机会。远程队列是一个队列管理器上的定义,其中包含有关消息应路由到何处的信息 MQ文档: 另一种描述: 也许有一个更简

有人能举例帮助理解这3个队列的基本情况吗?我们什么时候使用所有3个队列?简单地说,队列管理器只在本地队列或该队列管理器上的传输队列上承载消息。如果要转到另一个队列管理器,可以使用一些定义,这些定义告诉队列管理器“put”正在运行,以及如何将消息路由到目标队列管理器-但是,这最终会在传输队列上生成一条消息,然后将该消息拾取并沿通道发送到该目标。别名队列只是为另一个队列使用不同名称的机会。远程队列是一个队列管理器上的定义,其中包含有关消息应路由到何处的信息

MQ文档:

另一种描述:

也许有一个更简单的解释:将本地队列视为存在于其定义的队列管理器上的队列。。您可以从本地队列中放置和获取消息。远程队列类似于指向另一个队列管理器上的队列的指针,该队列管理器通常位于不同的主机上。因此,可以将消息放入其中(它们通常会到达该远程主机的本地队列),但您无法从远程队列获取消息。

连接到承载队列的本地队列管理器的应用程序,因此该队列将是该应用程序的本地队列。一种应用程序,它连接到一个位于远程的队列管理器,并承载一个队列,该队列将是远程队列。我们应该始终记住,我们总是从本地队列读取消息。放置在远程队列上的消息将通过在本地队列上定义的对象通过通道和传输队列路由到本地队列。

如果队列由程序所连接的队列管理器所有,则程序将其称为本地队列;如果队列由其他队列管理器拥有,则称为远程队列。这两种队列之间的重要区别在于,只能从本地队列获取消息。(您可以将消息放在这两种类型的队列上。)

参考资料:


  • 是否可以在两个不同的队列管理器(QM1、QM2)中有两个同名(Q1)的MQ,然后让QM1存储Q1的远程定义以及Q1的本地定义?