IBM MQ术语简介

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IBM MQ术语简介相关的知识,希望对你有一定的参考价值。

IBM MQ https://www.ibm.com/support/knowledgecenter/zh/SSFKSJ_8.0.0/com.ibm.mq.helphome.v80.doc/WelcomePagev8r0.htm

侦听器
侦听器是一个 IBM? MQ 进程,用于侦听与队列管理器的连接。

MQ Explorer 中的每个侦听器对象都表示一个侦听器进程;但是,如果从命令行启动侦听器进程,那么在 MQ Explorer 中此侦听器不能由侦听器对象表示。因此,要从 MQ Explorer 管理侦听器进程,请在 MQ Explorer 中创建侦听器对象。当您在 MQ Explorer 中启动侦听器对象时,侦听器进程也会启动。

在 IBM MQ 中提供了多种不同类型的侦听器,这取决于消息通道代理程序 (MCA) 通过消息通道用来发送和接收消息的传输协议:

LU6.2
TCP/IP
NetBios
SPX

[z/OS]可以在 MQ Explorer 中启动新的 z/OS? 侦听器,它们显示在“内容”视图中,可以在该视图中启动和停止这些侦听器。MQ Explorer 中的 z/OS 侦听器仅支持 TCP/IP 和 LU6.2。
IBM? MQ 可以使用三种不同类型的通道:消息通道、MQI 通道和 AMQP 通道。

请勿混淆这三种不同类型的通道:

消息通道
消息通道是两个队列管理器之间的单向通信链路。IBM MQ 使用消息通道在队列管理器之间传送消息。 要双向发送消息,您必须定义每个方向的通道。
MQI 通道
MQI 通道是双向通道,用于将应用程序(MQI 客户机)连接至服务器上的队列管理器。IBM MQ 使用 MQI 通道在 MQI 客户机和队列管理器之间传送 MQI 调用和响应。
AMQP 通道
AMQP 通道,这是双向通道,用于将 AMQP 客户机连接到服务器上的队列管理器。IBM MQ 使用 AMQP 通道在 AMQP 应用程序和队列管理器之间传送 AMQP 调用和响应。

当提到消息通道时,通道一词常用作通道定义的同义词。通常从上下文中能清楚地分辨出我们正在谈论的是一个完整的通道(带有两端)还是一个通道定义(只有一端)。
消息通道

消息通道定义可以是下列其中一个类型:
消息通道定义类型 描述
发送方 发送方通道是队列管理器用来将消息发送至其他队列管理器的消息通道。 要使用发送方通道来发送消息,还必须在另一队列管理器上创建与此发送方通道同名的接收方通道。 如果正在实现“回调”机制,那么还可以将发送方通道与请求方通道一起使用。
服务器 服务器通道是队列管理器用来将消息发送至其他队列管理器的消息通道。 要使用服务器通道来发送消息,还必须在另一队列管理器上创建与此服务器通道同名的接收方通道。 您还可将服务器通道与请求方通道一起使用。在此情况下,在通道另一端的请求方通道定义将请求要启动的服务器通道定义。服务器将消息发送至请求方。只要服务器知道对方通道的连接名称,它还可启动通信。

队列是存放消息的容器。连接至主管队列的队列管理器的业务应用程序可从队列检索消息或将消息放置到队列。

队列在它可保存的最大消息数和这些消息的最大长度方面存在限制。
队列类型 描述
本地队列 本地队列是队列以及与此队列关联的一组消息的定义。主管队列的队列管理器在其本地队列中接收消息。
传输队列 传输队列是特殊类型的本地队列。当队列管理器将消息发送至远程队列管理器上的队列时,传输队列在本地存储此消息,直到远程队列管理器上的队列可用。要创建传输队列,创建一个本地队列并将其用法属性更改为“传输”。
远程队列定义 远程队列定义是属于另一个队列管理器的队列的本地队列管理器上的定义。要将消息发送至远程队列管理器上的队列,发送方队列管理器必须具有目标队列的远程定义。
别名队列 别名队列实际上不是队列;它们是现有队列的附加定义。您创建指向实际本地队列的别名队列定义,但可以用与本地队列(基本队列)不同的名称来命名别名队列定义。这表示您可更改应用程序使用的队列而无需更改此应用程序,您只需创建指向新的本地队列的别名队列定义。
模型队列 模型队列是您想让队列管理器根据需要动态创建的队列的模板。当应用程序尝试将消息放置到模型队列时,队列管理器将动态地创建与此模型队列同名的本地队列。以此方式创建的队列既可以是临时队列也可以是永久队列。
集群队列 集群队列是在集群中已共享的队列,这样的话,此集群中的所有队列管理器可使用集群通道在此队列放置和获取消息。有关更多信息,请参阅队列管理器集群。
[z/OS]共享队列 [z/OS]仅限 z/OS?。共享队列是拥有共享的队列共享组处置的队列。队列共享组中的所有队列管理器都可在此队列放置和获取消息而无需活动通道。只有本地队列可拥有共享处置。有关更多信息,请参阅队列共享组。
[z/OS]组定义队列 [z/OS]仅限 z/OS。组队列是拥有组的队列共享组处置的队列。队列共享组中的每个队列管理器都有一个该队列的副本(拥有副本处置)存储在其他们自己的页集中。本地队列、远程队列、别名队列和模型队列可拥有组处置。有关更多信息,请参阅队列共享组。

有关队列的更多信息,请参阅 IBM? MQ 联机产品文档中的队列。
进程定义
进程定义包含应用程序的信息,此应用程序作为队列管理器上的触发器事件的响应而启动。当您在队列上启用触发时,您可创建进程定义并将它与此队列关联。

每个队列可指定不同的进程定义,或几个队列可共享同一个进程定义。如果您创建进程定义,队列管理器将从此进程定义中抽取信息并将其放置到触发器消息中以供触发器监视器使用。

如果要触发通道的启动而不是应用程序的启动,那么您不需要创建进程定义,因为可使用传输队列定义代替。

两个队列管理器之间如何通信 摘自 http://blog.csdn.net/crazyitlhs/article/details/45477627

两个队列管理器创建及常见问题汇总 https://www.cnblogs.com/siwei1988/p/5923038.html

详细参数的问题 https://wenku.baidu.com/view/a9b30765a216147916112801.html

以上是关于IBM MQ术语简介的主要内容,如果未能解决你的问题,请参考以下文章

IBM WebSphere MQ安装集成

IBM WebSphere MQ安装集成

在 Java 程序中在 IBM MQ 中创建主题

IBM MQ 学习

C++ 客户端通过 SSL 连接到 IBM MQ

ibm mq 用java在aix平台上put消息慢的问题