ibmmq 通道命令_IBM MQ基础使用介绍

一、IBM MQ介绍

按照官方的简介:IBM® MQ是一款企业级消息传递解决方案,能够安全、可靠地连接多个平台的应用、系统、服务及文件。MQ能够通过队列系统,在这些作业点之间传输数据,确保在网络或应用出现故障时,实现稳定交付。根据官方介绍,IBM MQ包含如下特点:

  • 通过在不同平台上作为应用之间的消息传递中心,MQ 几乎可在任何地方连接所有内容,减少了集成时间和成本,并能够可靠地移动消息;

  • 设计成就安全 - 内置高可用性和灾难恢复能力 - MQ 可通过细粒度认证和强大的数据加密技术来保护静态数据、动态数据和内存中的数据;

  • 由于 MQ 可处理连接和消息重试操作,它使开发者能够将时间用在更关键的计划上。它还易于缩放,能够无缝地管理事务量的变化;

  • MQ 可靠性的核心在于一次且仅限一次传递,这使您能够确信必将传递消息。其他产品则使用至少一次或至多一次传递,这意味着将会重复或丢失消息;

  • 在异步消息传递环境中,MQ 可充当应用之间的减震器。如果存在网络或应用中断,那么它会将消息保存在特殊队列中,直到所有内容都运行为止;

  • MQ 的传输层安全性 (TLS) 可保护线上的消息,而内置的访问控制则可在目标队列上保护这些消息;

二、通过命令进行IBM MQ管理

下面列举一些常用的命令:

登陆到MQ所在的机器,切换到MQ用户(一般为mqm),然后切换到MQ的bin目录:cd  /opt/mqm/bin;

  • 查看MQ版本:dspmqver

  • 创建队列管理器:crtmqm -q QM_ICBC_FX

  • 启动队列管理器:strmqm QM_ICBC_FX

  • 停止队列管理器:endmqm QM_ICBC_FX

  • 进入队列管理命令行模式:runmqsc QM_ICBC_FX

  • 查看监听:DISPLAY LISTENER(LSR.PICP)

  • 显示所有队列管理器:dspmq

  • 显示指定的队列管理器:dspmq -m QM_ICBC_FX

  • 启动监听:runmqlsr  –t TCP –p 1616 –m ECIS_QM

  • 停止监听:endmqlsr -m ECIS_QM

  • 显示通道认证情况:DISPLAY QMGR CHLAUTH

  • 关闭通道认证:ALTER QMGR CHLAUTH(DISABLED)

IBM MQ自7.5以后增加了通道认证能力,默认是启用的,默认会禁止所有外部地址连接MQ,如果是内部网络可以关闭通道认证或增加通道放行配置。

三、通过IBM MQ Explorer进行管理

IBM MQ管理除了可以通过在服务器上通过命令行操作外,还可以基于IBM MQ Explorer的图形界面进行远程队列管理的管理(进行管理操作后需要重启)、测试消息等。

IBM MQ Explorer是基于Eclipse进行开发的,当前的最新版本9.1.3版本,支持Eclipse 4.8和4.7版本,可以通过update site url进行Eclipse插件安装。

71f20dba7a6a294f57da62841c0629d1.png

安装完成后,可以通过Window -> Perspective -> Open Perspective -> MQ资源管理器,切换到MQ管理视图:

55d51e8edd9ce3d1fb6424b742e97e07.png

在MQ管理视图可以新增远程队列管理器,连接成功后可以对队列管理器中的对象进行可视化管理,例如可以通过界面向本地队列放入消息进行测试:

ca7e7fc4f7c103def190fe9eb18c2b5a.png

四、通过CCDT连接MQ

CCDT全称Client Channel Defini@on Table(客户端通道定义表),表现形式是一个二进制⽂文件, 其中可以定义多个MQ队列管理器的连接信息,并且可以指定不同队列管理器的优先级。应⽤用可以使⽤用一个CCDT⽂件连接多个队列管理器,并在某个连接不可用时自动切换到低优先的可用的MQ上,而当高优先级的节点恢复后,连接可以逐步切回到高优先级节点。

五、队列深度监控

IBM MQ队列深度的监控有三种方式,包括基于MQ触发机制、基于MQ性能事件、通过MQ API获取队列深度。

基于MQ触发机制

MQ的触发机制实现了在三种情况下可以触发一个后续的操作,如启动一个特定的应用程序。这三种情况分别为:当应用队列中进入第一条消息时(TRIGTYPE=FIRST)、当应用队列每进入一条消息时(TRIGTYPE=EVERY)、以及当应用队列深度达到特定值时(TRIGTYPE=DEPTH)。我们可以为队列配置任何一种情况,以使用MQ的触发机制。对于队列深度的监控,可以通过TRIGTYPE=DEPTH实现,例如当达到设定的阈值则唤起一个shell脚本自动发送邮件。

基于MQ性能事件

MQ事件消息是指在特定的条件下MQ自身机制可以生成一些特殊类型的消息,并将其放到系统事件队列中。我们期望监控MQ队列深度,因此可以使用性能事件,其中可以监控的指标为:队列深度涨到预设值(以下简称Q_DEPTH_HIGH)、队列深度降到预设值(以下简称 Q_DEPTH_LOW)、以及队列写满(以下简称 Q_FULL)。这三个值分别对应队列的 QDEPTHHI、QDEPTHLO、以及 MAXDEPTH 三个属性。因此我们可以适当配置这三个属性的值,并开启相应的事件开关,即可让队列管理器在适当的时候生成事件消息。性能事件产生的事件消息会生成在SYSTEM.ADMIN.PERFM.EVENT系统队列中。

通过MQ API获取队列深度

通过MQ API访问队列时需要指定MQConstants.MQOO_INQUIRE参数,以便获取队列属性信息,访问到队列对象后,即可以通过queue.getCurrentDepth()属性获取到队列的深度,本地可以通过调度程序间隔一定的时间获取队列深度并打印摘要日志。

相关文章

一文读懂支付业务设计包含流程、资金流转......

一文帮你全面了解银行Ⅰ类、Ⅱ类、Ⅲ类账户

Spring Cloud核心组件,快速搭建分布式平台

通过幂等保障分布式、高并发系统的数据一致性

Spring事务控制的深度介绍

MySQL binlog数据库同步技术总结

Java多线程同步等待工具类CountDownLatch

全面的介绍银行存款业务,让你一目了然

网联支付清算平台架构,支撑起亿级交易量....

金融系统模型之交易、户账、总账

金融结算系统的基础业务之账户体系

国际金融互联报文规范SWIFT之银行识别代码

人民银行现代化支付系统CNAPS行号介绍

大家总说的银行日终批处理到底做了些什么


能纸笔安天下,武能马定乾坤

f00a3bfe75554776518256cadedf69be.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值