MQ运维手册.doc
《MQ运维手册.doc》由会员分享,可在线阅读,更多相关《MQ运维手册.doc(34页珍藏版)》请在三一办公上搜索。
1、 MQ运维手册交通银行 张江数据中心 系统部11152010A 新增 M 修改 D 删除版本号日期修订人审批人AMD概 要 描 述V012010-11-15伍建焜A全文创建目 录一概念与对象611 消息 Message 612 队列 Queue 6com 本地队列713 队列管理器 Queue Manager 1014 通道 Channel 11com 通道类型 Channel Type 11com 消息通道协议 MCP 13com 消息通道代理 MCA 1315 名称列表 Name List 1316 分发列表 Distribution List 1417 进程定义 Process 1418
2、 认证信息 Auth Info 1419 客户端和服务器端 Client Server 15110 操作界面 MQ Interface 15111 应用程序 MQ Application 15二工作原理1621 PUT和GET1622 协同工作1723 互连通信17com 消息通道 Message Channel 17com 消息路由 Message Routing 18com 消息传送19三控制与管理2031 MQ 控制命令20com MQ 队列管理器控制20com MQ 命令服务器控制22com MQ 监听器控制23com MQ触发监控器控制2432 MQ 对象管理25com 队列管理器管
3、理26com 队列管理26com 通道管理27com 进程定义管理29com 名称列表管理29com 认证信息管理3033 基本队列操作3034 MQ 配置信息31com UNIX 配置文件3135 MQ 管理方式33com 本地管理33com 远程管理3336 日志 Log 36com 队列管理器日志36com 检查点 Checkpoint 38com 记录和复原 Record Recover 39com 备份和恢复 Backup Restore 40com 导出日志 Dump Log 41四通信与配置4241 消息路由42com 消息路由过程42com 缺省传输队列43com 队列管理器别
4、名43com 多级跳43com 传输中的消息4342 通道配置45com Sender QM1 - Receiver QM2 46com Server QM1 - Receiver QM2 46com Server QM1 - Requester QM2 47com Sender QM1 - Requester QM2 48com 通道启动命令49com 通道监控程序4943 通道的属性50com 通道会话50com 通道协议5344通道的状态54com 公共状态 Common Status 54com 当前状态 Current-Only Status 55com 通道状态分析5645互连配置
5、举例60com 单向传送61com 双向传送62com 队列与队列管理器别名63com 三级跳 Multi-hopping 64com 四级跳 Multi-hopping 65五群集6851相关概念68com 配置库 Repository 68com 配置库队列管理器 Repository Queue Manager 69com 群集通道 Cluster Channel 69com 群集队列 Cluster Queue 69com 群集传输队列 Cluster transmission queue 7052群集管理70com 对象属性70com 管理命令70com 管理任务举例7153群集配置
6、举例72com 例172com 例274com 例376com 例479com 例581com 例683六广播通信8761 分发列表 Distribution List 87com 概念87com 配置举例88七客户端9071 配置90com Server 端配置91com Client 端配置9172 用户出口96com 用户出口路径96com 排错97一概念与对象 WebSphere MQ 本质上是一种消息中间件用于保证异构应用之间的消息传递应用程序通过MQ 接口进行互连通信可以不必关心网络上的通信细节从而将更多的注意力集中于应用本身MQ 在所有的平台上有统一的操作界面这使得应用程序可以很
7、方便地移植到各种操作系统中 WebSphere MQ 运行环境中有较多的概念其中有一部分是可以作为实体进行的操作的称为MQ 对象每一个对象都有各自的属性不同的属性决定了对象的特性和工作方式消息队列队列管理器通道是MQ 中最重要的概念和对象11 消息 Message 消息是WebSphere MQ 中最小的概念本质上就是一段数据它能被一个或多个应用程序所理解是应用程序之间传递的信息载体消息可以大致分成两部分 应用数据体和消息数据头 消息数据头是对消息属性的描述这段信息往往被队列管理器用来确定对消息的处理消息数据头可以由应用程序或系统的消息服务程序共同产生它包含了消息在传送中的必要信息如目标队列管
8、理器的名字目标队列的名字以及消息的其它一些属性 应用数据体是应用间传送的实质的数据消息它可以是字串数据结构甚至二进制数据包含的内容可以是文本文件声音图像等任何数据这些数据只对特定的应用具有特定的含义所以应用数据体的结构和内容由应用程序定义通信双方需要事先约定报文格式 消息可以分成持久 Persistent 消息和非持久 Non-Persistent 消息所谓持久的意思就是在WebSphere MQ 队列管理器重启动后消息是否仍然能保持12 队列 Queue 可以简单地把队列看成一个容器用于存放消息队列按其定义可分成本地队列远程队列定义别名队列定义模型队列定义如图11所示其中只有本地队列是真正意
9、义上的队列实体可以存放消息远程队列定义和别名队列定义只是一个队列定义指向另一个队列实体远程队列定义指向的是其它队列管理器中的队列而别名队列指向的是本地队列管理器中的队列模型队列有一点特殊它本身只是一个队列定义描述了模型的属性但是当打开模型队列的时候队列管理器会以这个定义为模型创建一个本地队列被称为动态队列 一个队列管理器下辖很多个消息队列但每个队列却只能属于一个队列管理器队列在它所属的管理器中只能有一个唯一的名字不能与同一个管理器的其它队列重名当消息被添加到队列中它缺省将被加到最后与之相反删除消息缺省却是从头开始图11 队列的分类com 本地队列 本地队列按功能又可分成初始化队列传输队列目标队
10、列和死信队列初始化队列用做消息触发功能传输队列只是暂存待传的消息在条件许可的情况下通过管道将消息传送其它的队列管理器目标队列是消息的目的地可以长期存放消息如果消息不能送达目标队列也不能再路由出去则被自动放入死信队列保存图12 各种队列在消息传送时的作用com1 普通队列能够真正长期存放消息的本地队列我们称之为普通队列一般说来应用程序只对其做简单的 MQGET 和MQPUT 以收发消息这也是系统中用得最多的消息队列通常在不致引起混淆的情况下我们也将普通本地队列简称为本地队列com2 传输队列要送往远地的消息将放入传输队列在适当的时候消息会被从传输队列中取出并送往远地最终放入远端的本地队列所以从本
11、地系统的立场来看传输队列是用来暂时存放输出消息的传输队列本身是一个本地队列它与普通队列的差别是传输队列具有的属性USAGE XMITQ com3 初始化队列初始化队列是配合消息触发用的如果队列上配置有消息触发功能则需要指定另一个相关队列以存放触发消息这个队列就是初始化队列初始化队列本质上就是一个普通本地队列com4 目标队列在消息通信的时候消息最终的目的地称为目标队列如果消息是通过传输队列转发WebSphere MQ 会自动为消息体添加一个传输消息头其数据结构为MQXQH其中的RemoteQName 和RemoteQMgrName 两个域指明了目标队列和目标队列管理器如果消息被放入死信队列则W
12、ebSphere MQ 会自动为消息体添加一个死信消息头其数据结构为MQDLH其中DestQName 和DestQMgrName 两个域指明了原消息的目标队列和目标队列管理器com5 死信队列死信队列本质上是普通的本地队列由于队列管理器的DEADQ 属性指定的该队列为死信队列所以队列管理器认为无法投递的消息都被自动送去该队列由于无法投递的消息很像信件投递中的死信故而得名队列管理器在将消息放入死信队列的时候会自动为消息体添加一个死信消息头其数据结构为MQDLH其中Reason 域指明了消息无法投递的原因com6 应答队列由于消息在发送后需要有对方的回应这种回应可以是系统自动产生的报告消息也可以是
13、对方应用生成的应答消息就应用而言这些回应消息的目标队列就是应答队列应答队列通常设置在消息头 MQMD 的ReplyToQ 域中它也总是与消息头中的另一个域ReplyToQMgr 一起使用com7 命令队列指的是WebSphere MQ 队列管理器中预定义的SYcomAND QUEUE任何MQSC命令都可以送往该队列并被队列管理器的命令服务器 Command Server 接收处理com8 别名队列别名队列只是一种队列定义它自身只是队列的逻辑名字并不是队列实体本身别名队列的TARGQ 属性指明了其代表的目标队列名称目标队列通常是本地队列其实别名队列只是提供了队列名称之间的映射关系可以将别名队列看
14、作是指针指向其目标队列注意这里的目标队列自身又可以是一个别名队列指向下一个目标队列然而在对别名队列打开 MQOPEN 操作时只允许别名队列指向的目标队列是一个本地普通队列即一层映射关系如果存在上述的多层映射关系则报错MQRC_ALIAS_BASE_Q_TYPE_ERROR通过别名定义WebSphere MQ 也可以动态改变消息流向比如某程序在代码中指定消息写入队列A但是您希望在不变动代码的情况下将消息写入队列 B这时只要定义别名 B使之指向A即可再如某队列C是可读可写的本地队列管理员希望它对于一类程序只可读对另一类程序只可写这时可以对C定义两个别名D和ED只允许读E只允许写也就是说本地队列C的
15、属性为GET ENABLED 且 PUT ENABLED 将D的属性设置为GET ENABLED 且PUT DISABLED E的属性为GET DISABLED 且PUT ENABLED 将D和E分别提供给上述两类程序使用这样可以完全避免应用程序的误操作com9 远程队列远程队列与别名队列类似也只是一个队列定义用来指定远端队列管理器中的队列使用了远程队列定义程序就不需要知道目标队列的位置 所在的队列管理器 远程队列定义包括目标队列管理器名和目标队列名而这种队列定义对于访问地的应用程序是透明的这种技术不但使应用程序只需要对一个简单的队列名操作而且可以在线地通过修改远程队列定义而动态改变路由com
16、10 模型队列模型队列定义了一套本地队列的属性集合一旦打开模型队列队列管理器会按这些属性动态地创建出一个本地队列模型队列的DEFTYPE 属性可以取值PERMDYN 和TEMPDYN分别代表永久动态队列和临时动态队列 1 永久动态队列永久动态队列由模型队列动态创建并可以永久存在在调用MQOPEN 时创建以后就和普通的本地队列一样工作在调用MQCLOSE 时缺省情况下会保留消息和队列当然也可以通过设置关闭选项 Close Option 的来清除消息甚至删除永久动态队列 2 临时动态队列临时动态队列也是由模型队列动态创建但只在会话 Session 中临时存在在调用MQOPEN 时创建在同一个线程中
17、MQCLOSE 时关闭并自动删除MQCLOSE 时无所谓关闭选项 Close Option 的取值13 队列管理器 Queue Manager 队列管理器构建了独立的WebSphere MQ的运行环境它是消息队列的管理者用来维护和管理消息队列一台机器上可以创建一个或多个队列管理器每个队列管理器有各自的名字通常情况下它不能与网络中的其它队列管理器重名如果我们把队列管理器比作是数据库那么队列就是其中的一张表消息就是表中的一条记录队列管理器是负责向应用程序提供消息服务的机构在WebSphere MQ中队列管理器集成了对象的定义配置管理调度以及提供各种服务的功能于一身WebSphere MQ的系统管理
18、工具提供了对系统部件配置与管理的功能应用程序必须首先连接到队列管理器然后在队列管理器的控制下对各种对象进行操作WebSphere MQ 中的队列管理器可以含有很多个队列但一个队列只能属于一个队列管理器一个操作系统平台可以创建一个队列管理器也可以创建多个队列管理器队列管理器队列通道等等都是WebSphere MQ的对象所有的对象都有各自的属性有些属性必须在对象创建的时候指定有些可以在创建以后更改14 通道 Channel 通道是两个队列管理器之间的一种单向的点对点的通信连接消息在通道中只能单向流动如果需要双向交流可以建立一对通道一来一去站在队列管理器的角度这一对通道可以按消息的流向分成输入通道和
19、输出通道通过配置对于放入本地传输队列中的消息队列管理器会自动将其通过输出通道发出送入对方的远程目标队列两个队列管理器之间可以有多条通道负责传输不同的内容这样设计往往是为了将不同优先级的消息错开运行于不同速率的网络连接上或者即便是所有通道都运行于相同的网络物理连接上也可以将不同大小的消息传送分开以免小数据传送被大文件所堵塞如果多条通道共享一条网络物理连接通道的速率之和受限于网络速度这样可以增加传送的并发度但并不能增加整体的传送速度在通道上可以配置不同的通信协议这样就使得编程接口与通信协议无关通道两端的配置必须匹配且名字相同否则无法连通队列管理器之间的通信是通过配置通道来实现的通道两侧的队列管理器
20、对这个通道的相关参数应该能对应起来一个通道只能用一种通信协议但不同的通道可以有不同的通信协议可见通道是架设在通信协议之上的对象架设在不同通信协议上的通道在应用层看来都大同小异com 通道类型 Channel Type WebSphere MQ 用通道类型属性 CHLTYPE 约定了通信双方在连接握手协议中的主动方和被动方以及应用消息的流向可选以下这些类型SDR Sender 握手协议的主动方消息的发送方RCVR Receiver 握手协议的被动方消息的接收方SVR Server 在握手协议中可以是主动方也可以是被动方消息的发送方RQSTR Requester 在握手协议中可以是主动方也可以是被
21、动方消息的接收方CLNTCONN Client Connection 在Client-Server连接时定义客户端连接定义表 Client Channel Definition Table 时使用握手协议的主动方消息的发送方SVRCONN Server Connection 在Client-Server连接时定义服务器端连接时使用握手协议的被动方消息的接收方CLUSSDR Cluster Sender 在群集中发送配置信息和应用消息握手协议的主动方消息的发送方CLUSRCVR Cluster Receiver在群集中接收配置信息和应用消息握手协议的被动方消息的接收方通信双方的通道类型配对并不是
22、可以随意排列组合的共有六种如图13所示图中细线箭标表示握手协议中的主动连接粗线箭标表示应用消息流向消息在所有的通道上都是单向传送的SenderReceiver是所有连接中最简单最常用的一种Sender是通道主动方也是消息发送方RequesterServer也是常用的一种连接方式Requester是通道主动方但通道连接后它作为消息接收方Server是消息发送方ServerReceiver与SenderReceiver类似Server是消息的发送方也是连接的主动方与Sender 定义类似Server定义中必须指定CONNAME参数SenderRequester的连接过程稍微复杂一些Requeste
23、r首先与Sender连接在通知对方连接参数后连接断开Sender 进行反向连接消息也是反向传送的这种反向连接的方式称为 Callback ConnectionSender ConnectionReceiver Connection 与SenderReceiver 方式相同用于ClientServer 之间的MQI 通道Cluster SenderClueter Receiver 与SenderReceiver 方式相同用于群集中队列管理器之间的连接由于SenderReceiverServerReceiver 的连接主动方和消息发送方相同所以可以在发送端设定通道触发 Channel Trigge
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MQ 手册

链接地址:https://www.31ppt.com/p-2690162.html