IBM MQ 笔记
引子
由于工作需要 , 近期初步学习了一下 IBM 的 MQ , 故有此文 , 仅对本次学习做一次记录 , 对知识点进行回忆与巩固。
MQ 是什么?
MQ 是一种通讯的中间件 , 在服务端与客户端都安装上 MQ 时 , 即可通过 MQ 进行通信。在 MQ 里有三个概念:
- 队列管理器
- 队列
- 通道
在刚才我提到 , 当客户端与服务端都装上 MQ 时即可通信 , 这么表达其实是不准确的 , 正确的说法应该是 , 当客户端与服务端都安装 MQ 并创建了队列管理器与队列 , 同时在两个 MQ 之间建立了通道之后 , 两者之间才能进行通信。这么一看 , 感觉非常笼统 , 可以结合实际的例子来学习下。
举个栗子
这里我就不用两台机子了 , 原理都是一样的 , 只需要将我对其中一个队列管理器进行的操作在另外一台机子上实践即可。我在一台机子上建立两个队列管理器(QM_SEND 与 QM_REC) , 在它们之间建立通道 , 最终的效果是 , 当我将信息放入 QM_SEND 的队列中后 , 我能从 QM_REC 中将信息取出来。
先建立一个队列管理器命名为 QM_SEND , crtmqm 命令为创建队列管理器。
crtmqm QM_SEND
dspmq 命令为查看队列管理器的状态 , 此时 , 可以通过 dspmq 命令查看 MQ 的状态 , 由于刚创建队列管理器 , 因此状态还是 Ended immediately , 需要将它 start 才会变成 running。如果只输入 dspmq 能查看到所有队列管理器的状态 , 若只想查看指定队列管理器的状态 , 可以通过「dspmq -m 队列管理器名字」来查看。
通过 strmqm QM_SEND , 启动队列管理器。此时 , 再通过 dspmq 查看状态已经变成了 running。
完成这些之后 , 就可以通过 ru