IBM MQ经典培训教材.ppt_第1页
IBM MQ经典培训教材.ppt_第2页
IBM MQ经典培训教材.ppt_第3页
IBM MQ经典培训教材.ppt_第4页
IBM MQ经典培训教材.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、WebSphere MQ v6 经典培训教材,Page 2,什么是 WebSphere MQ ?,一种成熟的方式在基于SOA的组件或系统之间实现可靠的传递 像坚固而宽阔的大桥一样强健地连接应用和Web服务 它能够连接任何商业IT系统 通过易用、灵活、可靠及安全的方式帮助客户共享和交换重要的商业信息,WebSphere MQ 为用户和应用开发人员提供了一种直接,简单,成熟的手段以实现应用系统在不同操作系统平台之间稳定可靠地传递,交换重要的数据和信息,确保消息不丢失/不复传。 SOA,面向服务的体系结构(service-oriented architecture)是一个组件模型,它将应用程序的不同

2、功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。,Page 3,举例:应用A正在向应用B发送消息,时间的灵活性和独立性,B,A,B,A,B,A,接收方应用B繁忙或暂时不可达或者当前所在主机当机,SOA的连通需要在应用之间提供的持久化(always-connected) 的链路 可以克服SOA资源不可得或者IT系统和网络不能提供服务造成的数据交互问题,网络出现故障,发送方-应用A在刚刚发送后当机,在传输期间两个应用都出现故障,Page 4,简化应用和开发 Reusable, complex function is provided by the middleware, not

3、the application. 高服务质量 Reliability, availability, and scalability are provided by the middleware, not the application. 更加安全 Security policy enforcement and resistance to attacks are provided by the middleware, not the application.,WebSphere MQ的价值,应用部署 . . .,提高生产力 Lower development costs. Higher reus

4、e of assets. 降低风险 Better tested deployments. Higher availability of skills. 加快了响应时间 Configurable changes. Faster development.,对业务的影响 . . .,Page 5,IBM WebSphere MQ 在业界不可动摇的领导地位,“In the world of finance, the WebSphere MQ messaging platform is the standard for integration solutions.” Martin Frick, Raif

5、feisen Group,No-one integrates more reliably,业界最成熟提供端到端数据传输的中间件 全世界超过10,000家 WebSphere MQ的客户 世界财富百强90%的客户 世界财富500强超过300家的客户 北美和欧洲66%的银行 银行业的客户通过 WebSphere MQ实现的交易价值超过35万亿美金 政府行业客户每天通过MQ交换的消息超过6.75亿条,Page 6,WebSphere MQ 在国内的客户,中国人民银行 工、农、中、建四大行 交通银行 中信银行 华夏银行 民生银行 中国太平洋保险公司 - 北京移动 - 北方九省电信 - 中国海关电子口岸

6、 国家质检总局 国家税务总局 铁道部 公安部 新华社 - 等等,Page 7,WebSphere MQ 的概念,Page 8,邮政系统与信件 Mailbox and Letter,Page 9,消息组成 Message Component,消息类型 报文消息 请求/应答消息 报告消息 支持的消息最大长度为100MB,由队列管理器处理的消息属性 唯一消息ID 相关性ID 路由信息 响应路由信息 消息优先级 消息代码集/编码 消息结构 超时间隔 .,任意 数据 由发送和接收程序构造解析 队列管理器不做解析,消息 = 消息描述符 + 用户数据,消息描述符,用户数据,.,Page 10,消息类型 Me

7、ssage Type,请求消息 Request message 请求消息需要应答。从客户端发往服务器的查询和更新信息往往是一条请求消息。请求消息中应该包含回复消息的路由信息,即回复消息发往什么地方。 回复消息 Reply message 回复消息是对请求消息的回应。请求消息中的信息决定了回应消息的目的地。处理请求和回应的应用程序控制着消息间的关联,这种关联和队列管理器没有关系。 报文消息 Datagram message 数据报消息是不需要回复的消息,报文消息只是一次单向的信息传送。 报告消息 Report message 报告消息用于对一些系统故障的响应。有些报告消息是由应用程序创建的,有些

8、报告消息是由队列管理器创建的。,Page 11,消息长度 Message Length,最大消息长度为 100 MB(其中 1 MB 等于 1 048 576 字节),缺省最大消息长度是 4 MB。 实际上,消息长度受以下方面的影响: 接收队列定义的最大消息长度 队列管理器定义的最大消息长度 传输队列定义的最大消息长度 发送或接收应用程序定义的最大消息长度 存储消息的可用空间,Page 12,消息内容 Message Content,消息可以被认为是数据的最小传输单元,能够从一个应用到另外一个应用 消息可以被应用构建 消息可以被不同应用消费 消息能够包含任意种类的数据: 二进制数据 (声音片段

9、, 电影文件, 图片等) 文本数据 Raw text XML 结构化数据 (C Structures, COBOL CopyBook, Serialized Java objects) 任意数据!,Page 13,消息的持久性 Persistent and non-Persistent,Page 14,消息超时 Message Expiry,每个消息都具有单独的存活时间 在消息被发送到队列之后开始计时 如果消息没有被获取,自动将被破坏、抛弃 基于超市的提醒和重新路由的消息能够进行配置,Page 15,队列 Queues,按照创建方法分类 预定义队列 动态队列 按照功能分类 本地队列 local

10、 queue 远程队列 remote queue 传输队列 transmission queue 动态队列和模板队列 model queue 启动队列 initiation queue 群集传输队列 死信队列 dead letter queue 命令队列 command queue 回复队列 reply queue 别名队列 alias queue,Page 16,本地队列 local queue,一个本地队列是一个物理上位于本地队列管理器中的队列。 本地队列实际上存在与本地系统的内存或磁盘存储中。 本地队列管理器控制队列的访问。 应用程序可以“PUT”消息到本地队列,也可以从本地队列“GET

11、”消息,另外程序还可以查询或修改这些队列的某些属性。 对队列属性的修改需要相应的权限。,Page 17,远程队列 remote queue,一个远程队列属于一个不与该应用程序直接相连的队列管理器。对这类队列的访问包含有本地队列管理器和远程队列管理器的通信过程。这种通信涉及到通道。 应用程序可队远程队列进行某些操作,比如程序可以向一个远程队列放一条消息,但程序不能从远程队列中去消息。应用程序只能从本地队列读取消息。 远程队列定义中的目的队列不一定是远程队列管理器的本地队列,它也可以是一个远程队列定义,如图所示:,Page 18,传输队列 transmission queue,传输队列是临时存储目

12、标为远程队列管理器的消息的队列。队列管理器利用传输队列把消息分阶段地发向远程队列。队列管理器和消息移动程序一起负责把数据传送到远程队列。 当队列管理器收到把一条消息发往远程队列的要求后,它把消息发送到一个与目的队列管理器相关联的传输队列,传输队列位于本地队列管理器上。 目的队列管理器的名称可能由应用程序提供,也可以从远程队列定义中得到。 一个传输队列是两个队列管理器之间的发送方一端,所有直接目的地是同一队列管理器的消息都可放在同一个传输队列上。 把消息从一个队列管理器传送到另一个队列管理器只需要一个传输队列,然而也有可能在两个队列管理器之间存在着多个连接以提供不同的传输服务,每个连接都带有一个

13、不同的传输队列。 传输队列是由MCA处理的,MCA负责在队列管理器之间可靠地传送消息。MCA实际上是处理传输队列上消息的MQI应用程序。,Page 19,死信队列 dead letter queue,死信(未传递的消息)队列是存储无法发送到其正确目的地的消息的队列,死信队列中的消息常常暗示了系统可能出现的问题。 死信队列是WebSphere MQ面对远端系统错误时的一种解决方案。应用程序可以利用WebSphere MQ提供的其他一些工具来监视并确保消息的可靠传送和接收。 在队列管理器创建时,系统会缺省创建一个死信队列,队列名是SYSTEM.DEAD.LETTER.QUEUE。 建议在生产系统上

14、,需要独立创建一个死信队列,而不使用系统缺省的死信队列。,Page 20,其他队列 other queues,命令队列:命令队列 SYSTEM.ADMIN.COMMAND.QUEUE 是用来存放由应用管理程序放的具有PCF(program command format)的消息的队列。 别名队列:别名队列实际上是本地队列、远程队列定义或队列名表的另外一个名字。它是一种简单的名字到名字的映射,它允许应用程序用另外一个名字来访问队列。别名队列允许在不修改应用程序的条件下访问其他名字的队列。 动态队列和模板队列:除了有固定定义的队列之外,WebSphere MQ还为程序在它们执行时提供了动态地创建队列

15、的能力。为了简化在创建动态队列时所必需设置的许多参数,动态队列总是基于模板队列被创建的,模板队列定义了动态队列的所有属性。当应用程序试图打开一个模板队列时,WebSphere MQ就创建一个动态队列。,Page 21,从队列中检索消息 先进先出(FIFO) 在消息描述符中定义的消息优先级,以 FIFO为基础检索具有相同优先级的消息 特定消息的程序请求 应用并行访问 队列管理器进行管理,队列 Queues,Page 22,Any System,Queue Manager A,App A,api,Any System,Queue Manager B,App B,api,MCA,MCA,Queue

16、“A”,消息传递 可靠的传递 时间独立性的传递 事务的支持 异步的传递,MCA Message Channel Agent,队列管理器 Queue Manager,data,data,网络的独立性 远程队列可以看作“本地”的队列,Channel(SSL),Kernel,Kernel,优点 . . . 当应用在网络上被迁移的时候,无需重新编码和重新部署 统一性和一致性意味着应用可以在多平台交换信息,队列管理器包含的工具 命令行管理器,监听器,触发监控,通道初始化,Eclipse管理控制台,Page 23,通道 Channels,消息通道是一种提供从一个队列管理器到另一个队列管理器的通信路径 应用

17、在队列管理器与队列管理器之间的通讯 单一方向 通常成对使用 应用在MQ客户端到队列管理器 单一的,双向的 通道的类型 发送通道(Sender) 接收通道(Receiver) 服务器通道(Server) 请求器通道(Requester) 群集发送通道(Cluster sender) 群集接收通道(Cluster receiver),Page 24,MQ Server,MQ Server,WebSphere MQ如何工作 ?,消息服务是基于队列 Queues 队列采用存储转发机制,实现可靠的数据传递 采用成熟的数据库技术,实现两阶段提交事务机制,保证消息不被丢失或重新复制 基于主题关键字的方式,采

18、用发布/订阅模式动态的路由消息 运用多处理器的线程技术和集群技术加速消息的吞吐量,Message,Queue,Application Z,Application A,Page 25,WebSphere MQ 的功能和用法,Page 26,WebSphere MQ能做什么?,为需要交换数据和事件的应用、Web服务提供消息服务: 成熟的传输可靠性 事务的完整性、一致性 时间的独立性同步和异步 易用性和快速部署 灵活性和可扩展性 高性能、高可用 安全性 可监控和审计 开放性,对JMS、Web Services等支持 集群 跨越多种平台 压缩和触发等 多种编程接口,Application Z,Appl

19、ication A,MQ is like email for SOA applications but email you can bet the business on,WebSphere MQ,Page 27,可靠性,WebSphere MQ是唯一可保证信息一次性传输的中间件,确保对消息一次仅且一次(once-and-only-once)的传递,做到不丢失、不重传、次序不乱。 WebSphere MQ提供逻辑工作单元支持(logical unit of work),备份和恢复等多种机制,确保信息传输,意思是一旦WebSphere MQ接受一个信息传输的任务,会确保信息被传送到目标平台。 信

20、息的传输是一次且仅一次。 另外,强健的中间件机制保证业务数据一致性,并可在系统发生故障时,及时恢复,业务不会受到影响。,Page 28,创建MQ用户标识和组,在安装 WebSphere MQ 之前,创建所需的用户标识和组标识。 用户标识和组标识都必须设置为 mqm。 对于单独的机器,可以在本地创建新的用户标识和组标识。 对于在网络信息服务(NIS)域中管理的机器,管理员必须在 NIS 主控服务器上创建这些标识。 建议将 mqm 用户的主目录设置为 /var/mqm。,Page 29,Generally, . . . . . . like installing other software on

21、 the same platform,Windows Automatic execution of SETUP from the CD-ROM AIX smitty Sun Solaris pkgadd HP-UX swinstall Linux rpm,Websphere MQ for . . .,MQ的安装,Page 30,命令行管理控制台,Page 31,命令行创建队列管理器,必须有MQ的管理控制权限 QMgrName是一个必需的参数 -q 制定这个队列管理器为默认队列管理器 -ld LogPath 制定MQ日志存放的目录 -lf LogFilePages 4k page 64 (32)

22、 65535 -lp LogPrimaryFiles 2 510 (254) 默认值 3 -ls LogSecondFiles 1 509 (253) 默认值 2 3 = LPF + LSF = 511 (255),Page 32,命令行删除队列管理器,Page 33,命令行启动队列管理器,Page 34,命令行关闭队列管理器,受控关闭(缺省值),立即关闭 Completes all current MQI calls, but no new ones,抢先关闭(仅在意外情况下使用改类型的关闭),Page 35,命令行运行MQ命令行控制台,通过脚本创建系统对象,Page 36,命令行MQSC命

23、令,Page 37,错误日志,WebSphere MQ 使用许多错误日志来捕捉MQ自身的操作、任何队列管理器的启动和正在使用的通道的错误信息 在 WebSphere MQ Windows 版中,假设 WebSphere MQ 已经安装在缺省位置中: 如果队列管理器名称是已知的,则错误日志位于: c:Program FilesIBMWebSphere MQqmgrsqmnameerrors 如果队列管理器不是已知的,则错误日志位于: c:Program FilesIBMWebSphere MQqmgrsSYSTEMerrors 如果错误发生在客户机应用程序,则错误日志位于客户机的根目录中: c:

24、Program FilesIBMWebSphere MQ Clienterrors,Page 38,错误日志 续,在 WebSphere MQ UNIX 系统版中: 如果队列管理器名称是已知的并且队列管理器是可用的,则错误日志位于: /var/mqm/qmgrs/qmname/errors 如果队列管理器不是可用的,则错误日志位于: /var/mqm/qmgrs/SYSTEM/errors 如果错误发生于客户机应用程序,则错误日志位于客户机的根目录中: /var/mqm/errors,Page 39,错误日志 续,在产品安装时,在qmgrs 目录下将创建SYSTEM errors子目录。err

25、ors子目录最多可以包含 3 个错误日志文件,分别是: AMQERR01.LOG AMQERR02.LOG AMQERR03.LOG 每一个文件的大小都为256 KB 当产生错误消息时,它们被放置在 AMQERR01 中。当 AMQERR01文件比 256 KB 大时,将其复制成AMQERR02。在复制前,将 AMQERR02 复制到 AMQERR03.LOG。这样将删除了AMQERR03的以前内容。,Page 40,死信队列,出于某种原因无法发送的消息都被放置在死信队列,可以通过 MQSC 命令 DISPLAY QUEUE 来检查队列是否包含消息。 如果队列包含消息,则使用所提供的浏览样本应

26、用程序(amqsbcg)来浏览队列上的消息。 样本应用程序将显示每个消息的消息描述符和消息上下文字段。 应该通过分析消息的死信头来确定消息被放在死信队列的原因。,Page 41,首次故障支持技术 FFST,这些错误通常都是严重的、不可恢复的错误,要么是系统的配置问题或 WebSphere MQ 内部错误 在 WebSphere MQ Windows 版中,FFST 信息是存放在 c:Program FilesIBMWebSphere MQerrors 目录下的文件中 对于 WebSphere MQ UNIX 系统版,FFST 信息是存放在 /var/mqm/errors 目录的文件中 在大多数

27、情况下,当生成 FFST 记录时,系统管理员基本上不能自己解决问题,而需要寻求IBM 支持中心的帮助,Page 42,内容,WebSphere MQ概述 功能介绍和基本概念 WebSphere MQ的安装 常见平台的安装 MQ相互通信配置实例 WebSphere MQ管理 Eclipse管理控制台 命令行 WebSphere MQ开发指南 C 和Java的开发 WebSphere MQ问题诊断 WebSphere MQ的优化,Page 43,日志参数调整,通过MQ的控制命令crtmqm来设置 上面三个参数创建队列管理器的时候就要指定 LogBufferPages 代表日志缓冲区的大小,增大它的

28、数值,也可以提高性能,如:可以把它的值设置为最大,即512x4K pages=2MB 通过修改qm.ini文件来设置,Page 44,队列管理器配置文件参数调整,通过修改该队列管理器的配置文件qm.ini,可以调整一些MQ相关参数 DefaultQFileSize 队列文件的大小(Maximum amount of bytes in a queue) DefaultQBufferSize 每一个队列的非永久性消息保留的内存大小(Maximum amount of memory reserved for non-persistent messages),TuningParameters: Def

29、aultQBufferSize=1024000 DefaultQFileSize=1000000000,Page 45,队列管理器配置文件参数调整,MaxChannels和MaxActiveChannels 分别代表队列管理器允许配置的通道的最大个数和允许同时运行的通道的个数 AdoptNewMCA 停止先前存在的通道进程,并且为新的通道启动请求启动一个新的进程 AdoptNewMCATimeout 代表新进程等待旧进程结束的时间长度(以秒为单位) AdoptNewMCACheck 代表启用 AdoptNewMCA 属性时必需的检查类型,CHANNELS: MaxChannels=2000 M

30、axActiveChannels=2000 AdoptNewMCA=ALL AdoptNewMCACheck=ALL AdoptNewMCATimeout=30,Page 46,队列管理器配置文件参数调整,KeepAlive参数的作用在于:当设置KeepAlive=Yes时,表示操作系统的TCP/IP参数设置对WebSphere MQ生效。 可以利用调整操作系统层面的TCP/IP参数,更好地实现MQ的断网续传。,TCP: KeepAlive=Yes,Page 47,MQ测试样例,测试1 本地通道测试 1、 使用mqadmin用户登录 2、 执行crtmqm -q TEST_QM,建立测试用的消息管理器。 3、 执行strmqm TEST_QM,启动测试用的消息管理器。 4、 执行runmqsc TEST_QM 5、 输入define ql(DATA),回车,建立本地队列DATA 6、 输入end回车 至此,本地

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论