MQ原理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

WebSphere MQ的工作原理介绍

Websphere MQ是IBM的商业通讯中间件(Commercial Messaging Middlew are)。Websphere MQ提供一个具有工业标准、安全、可靠的消息传输系统。它的功能是控制和管理一个集成的商业应用,使得组成这个商业应用的多个分支程序(模块)之间通过传递消息完成整个工作流程。Websphere MQ基本由一个消息传输系统和一个应用程序接口组成,其资源是消息和队列(Messaging and Queuing)。

消息:消息就是一个信息单元,这个信息单元可以是一个请求(Request message),也可以是一个应答(Reply message),或者是一个报告(Report message)或一份报文(Datagram messge)。一个消息包含两个因素——消息描述(用于定义诸如消息传输目标等)和数据消息(如应用程序数据或数据库查询等)。程序之间的通信通过传递消息而非直接调用程序。

队列:一个安全的存储消息的地方,消息的存储一般是顺序的,队列是消息分阶段地传送和接收。因为消息存放在队列中,所以应用程序可以相互独立的运行,以不同的速度,在不同的时间,在不同的地点。

消息传输系统:用于确保队列之间的消息提供,包括网络中不同系统上的远程队列之间的消息提供。并保证网络故障或关闭后的恢复。

应用程序接口:应用程序和消息系统之间通过Websphere MQ AP I实现的接口Websphere MQ AP I在所有Websphere MQ平台上是一致的。AP I只有14个调用,2个关键动词:发送(P UT)和接收(GE T)。

WebSphere MQ是一个消息队品,专门负责在各种平台间传送数据,能保证

数据在不稳定的数据线路上传送时不会丢失或重复,本文主要向大家介绍

WebSphere MQ的工作原理.

适用操作系统:跨平台

WebSphere MQ 是IBM用于通讯的中间件产品,它为分布式环境下进行程序

到程序之间通信提供了灵活、快速并且易于使用的解决方法。WebSphere MQ

为应用程序提供一种跨越网络通讯的特殊机制,参与通讯的应用程序之间

不需要建立私有的、专用的逻辑连接,它们只需要把数据组装成消息,放

入消息队列中,接收方从消息队列中取出消息,达到通信的目的。下面简

要介绍WebSphere MQ的工作原理:

WebSphere MQ支持应用程序交换数据的基本机制是消息与队列。如下图中的程序A与程序B要交换数据,A先把数据组织成一个称为消息的数据包,放入队列中,队列是由队列管理器管理的一个数据文件,由队列管理保证放在队列中的消息的完整性和可恢复性,即消息放入队列后,即

使由于断电或硬盘故障等引起系统崩溃,重新启动后,WebSphere MQ的恢复机制仍能保证消息完整。

程序B从队列中读出程序A放入的消息,接收到由程序A送来的数据。如果程序B有应答数据回送给程序A,同样组织好一条消息,放入应答队列中让程序A读取。

在WebSphere MQ的支持下,应用程序之间的数据交换与传统方式最大的不同是:通讯不再是程序A与B直接连接,而是引入第三个程序,一个队列管理器作为中介。下图表示出三者间的关系:

队列管理器是一个能管理多个队列及其他与数据交换相关的部件的管理程序,协调各部件间的运作和保证数据的完整性。队列管理器提供一套应用开发接口MQI给应用程序,应用程序A用这套接口中的MQPUT调用放消息入队列Q1中,应用程序B调用MQGET从队列Q1中读到该消息.关于MQI的详细情况,请参考常见问题解答<>.

WebSphere MQ的传输机制特别适用于分布式环境下进行程序到程序之间通讯,应用程序能在不稳定的数据线路上传输重要的业务数据。下图表示WebSphere MQ队列管理器如何支持分布式环境下分处在两台机器上的应用程序如何交换数据。

上图中的两台机器分别安装一个队列管理器,两个队列管理器间的连接定义为一些队列管理器可管理的通道,通道支持工业标准的网络协议且对应用程序透明。在这个应用中,左面机器上的应用程序是发送程序,右面机器上的应用程序时接收程序。相对发送程序而言,左面一台机器上的队列管理器是本地系统,右面一台机器上的队列管理器是远程系统。

发送程序把消息放入一个专为数据传输而设的传输队列中,传输队列是一个系统保留使用的队列。放入传输队列中的消息会由WebSphere MQ中的一个部件MCA(消息通道代理)通过通道送往另一

端的MCA,双方使用独特的MCP(消息通道协议)交换数据,保证传输队列中的消息能完整地送到另一方。远程系统接收到消息后把消息放入目标队列中,使远程系统中的接收应用程序能读到消息 .

在实际应用中,为远程系统上的目标队列在本地系统上定义一个映射,称为远程队列。发送程序把消息放入远程队列中,调用MQI的方式与把消息放入本地队列中一样,具体的消息传输由MQ

系统处理。

相关文档
最新文档