IBM MQ简介

本文详细介绍了IBM MQ的消息队列概念,包括队列、队列管理器、消息、通道等核心元素,并阐述了MQ的用途。此外,还讲解了RUNMQSC命令行工具的使用,如查看队列属性、清理队列、管理通道状态等常见操作,以及如何监控队列管理器的状态。最后,提到了MQ日志路径和队列深度检查,对于MQ的日常管理和故障排查具有指导意义。
摘要由CSDN通过智能技术生成

IBM MQ share

1.什么是MQ

MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据结构。一般用来解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。主要产品:RabbitMQ、ActiveMQ、RocketMQ、ZeroMQ、Kafka、IBM MQ

2.IBM MQ简介

    队列(queue):我们可以简单地把队列看成一个容器,用于存放消息。

    队列管理器(Qmanager):队列管理器构建了独立的 MQ 的运行环境,它是消息队列的管理者,用来维护和管理消息队列。

    消息:MQ中的最小对象;默认情况下,消息缺省可以达到 4MB。消息可以分成持久消息和非持久消息。所 谓“持久”的 意思,就是在MQ 队列管理器重启动后,消息是否仍然能保持。持久的消息写入或读出队列的同时会在 Log 中记录,所以性能上比非持久消息差不少。

    通道(channel):通道则是两个队列管理器之间的一种单向的点对点的通信连接, 消息在通道中只能单向流动。队列管理器之间的通信是通过配置通道来实现 的,通道两侧的队列管理器对这个通道的相关参数应该能对应起来。在通道上可以配置不同的通信协议,这样就使得编程接口与通信协议无关。通道两端的 配置必须匹配, 且名字相同,否则无法连通。

    RUNMQSC:命令行交互界面管理工具;作为维护人员的我们,与MQ打交道有两种方式,一种是通过MQ提供的二进制命令工具(在mq安装目录的bin目录下),另一种方式则是通过命令行交互管理工具;这二者在功能上有很多是重合的,但并非完全可替代;RUNMQSC是一个通用的 MQ 对象管理工具,使用MQSC命令集可以对 MQ 对象进行;全方位的管理,也是各种管理方式最直接、最全面的一种。RUNMQSC 运行的命令集称MQSC (MQ Script Command)";在 RUNMQSC 中大小写无关,所有的命令会先转换成全大写再提交执行。所以如果要 表示大小相关的字串,比如对象名,则用引号将字串包住。输入以下命令启动MQSC命令:runmqsc[queueManagerName]

3.MQ 常用命令

查看队列的属性

runmqsc QM

dis queue(qname) all

显示所有队列

display queue(*)

清理队列内容

clear ql(qname)

查看当前所有连接

display conn(*) where(objname eq qname) all

关闭connection

stop conn(conn NO)

查看MQ版本

dspmqver

查看队列深度

display queue() curdepth

清除队列消息

clear ql(Q_SVC2ADP_4_HTTP)

查看远程连接

display qremote (*)

4. 查看队列管理器运行状态

# dspmq

显示结果中QMNAME表示MQ队列管理器的名称,STATUS表示当前运行状态。

运行状态有如下几种:

        Starting    正在启动

        Running    正在运行

        Ending    正在停止

        Ended normally  已经正常终止

        Ended immediately  已经立即终止

        Ended preemtively  已经强制终止

        Ended unexpectively 异常终止

        注:停止MQ后建议使用dspmq命令进行状态检查是否成功关闭。

5. 查看通道运行状态与启停通道

$ runmqsc QmgrName

dis chl(*);     查看所有通道定义

dis chs(*);     查看所有通道状态,如果没有查询到通道状态,或报错AMQ8420: Channel Status not found,请启动通道

dis chs(ChannelName);  查看通道ChannelName的状态

通道状态有如下几种:

        STARTING  正在启动

        BINDING    正在绑定

        INITIALIZING  正在初始化

        RUNNING   正常

        STOPPING 正在停止

        RETRYING  重试

        PAUSED  等待

        STOPPED 已停止

        REQUESTING  请求

启停通道与重置通道序号的方法:

$ runmqsc QmgrName

start chl(ChannelName);  启动通道

stop chl(ChannelName);  停止通道

6. 查看队列深度

如果队列深度不断增加,不见减少,那么可能就有问题了,请检查并分析其原因。

$runmqsc QmgrName

dis q(*);    查看所有各类队列的属性

dis qlocal(QName);   查看所有本地队列的属

队列深度属性为:CURDEPTH

7.日志路径

1.整个MQ的错误日志

/../mqm下面的errors

2.单个QM下面的日志

/var/mqm/qmgrs/AMQ01OD1/errors

  • 3
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值