中间件系列(二)——MQ消息中间件介绍

    IBM的MQseries 是基于消息传递和排队技术的成熟中间件产品。MQ很重要的一个实现就是把应用程序和网络通信的细节隔开,集成了网络通信的代码,使它不必出现在应用程序中。

一、MQ核心思想

    MQ技术的核心是一个非常简单的思想:程序A把一个消息发送到与程序B相连的队列中,与B通信。B从队列中获取消息并执行,却并不用关心A或B的具体信息。两个程序可以是在同一个处理器中,也可以不同。

二、MQ具体实现原理

    在OS操作系统上的应用程序通过-MQPUT在一端发送消息,另一端通过-MQGET获取;还可通过-MQOPEN,MQLOSE、MQCONN,MODISC等API进行消息调用,其中open用于打开一个消息队列,用完之后执行lose关闭消息队列;conn用于建立应用程序与队列管理器的连接,disc用于断开连接;MQINQ、MQSET用于查询和设置某个对象属性。实现上也是中间件的统一风格,对应用程序提供接口调用即可。

三、MQ适用平台

    MQ支持的大量操作系统平台,例如DOS、Windows、UNIX等等。

四、MQ特性

1、异步性

    异步特性的体现就在于使用MQ进行程序处理时间的独立性,例如程序A发送一条消息给程序B,A无需等待B响应,还可继续给B发送消息。程序B会在一个合适的时刻从消息队列里查看A发来的请求,做出应答回复给A。A从自己的消息队列里获取应答即可。多线程独立操作,更好的在分布式系统中进行消息处理。

2、并行性

    一个程序可向不同的服务器发送多条请求,通过队列,这些请求可由服务器或者程序B并行处理,不必按顺序进行,提高消息处理的效率。

3、可靠的消息传递

    MQ可为应用程序提供可靠的消息传递,即使在系统故障的情况下也不会丢失数据,不会出现同享的消息重复传递。

4、加快应用程序的开发

    使用跨平台的MQ,为应用程序屏蔽了底层通信细节,大大提高了程序开发速度;并且通过使用队列作为程序与程序之间数据传输的接口,很容易实现新旧程序的集成操作。



你可能感兴趣的:(中间件系列(二)——MQ消息中间件介绍)