- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ApusicMQ介绍系列---之MQ概述
ApusicMQ介绍系列---之MQ概述
前言
ApusicMQ介绍系列主要用来向中间件的技术支持人员、市场营销人员,以及对MQ感兴趣的同事做的一个完整体系化的介绍。
在中间件的产品家族里面,消息中间件是一个比较特殊的产品,它既不像应用服务器那样有着广泛的用户基础,也没有云计算、SOA那样的噱头,很多人根本就不知道消息中间件是个什么东西,有什么用。事实上,消息中间件是一个古老而经久不衰的产品,说它古老是因为它产生的时间甚至早于应用服务器,且一出来就备受推崇;说它经久不衰是因为现在只要涉及到数据通信它仍然是首选。这是一个经过时间验证的产品,它的用途已经在行业内形成了广泛的共识,不再需要额外的炒作。
公司早在2006年便开始了Apusic消息中间件的开发,即便如此,这个时间也比IBM、东方通晚了十多年。之后便一直处于断断续续发展的境地,再加上它实在是太底层、太基础了,以至于很多同事都对它不太了解。从2010年下半年开始,公司加大了对它的投入,形成了一个稳定的开发团队来加速它的发展,并于2010年底发行了一个稳定性和健壮性都大幅提升的版本:Apusic MQ7.5。
本系列致力于完整的介绍MQ产品,从而改变人们对它不了解的现状,主要内容将会包括MQ概念介绍、MQ运作原理和术语介绍、Apusic MQ功能和性能介绍、典型使用场景和案例分析等。
本文档是该系列的第一篇,主要是描述MQ的概念和作用,以及对Apusic MQ做一个简单介绍,从语言风格上将尽量采用简单易懂的语句,少用专业术语,不深究技术细节。
MQ的概念和历史
MQ(Message Queue),直译过来就是消息队列,但更合理的应该称之为消息中间件、面向消息的中间件(MOM,Message Oriented Middleware)、消息系统等。简单来说,MQ是用来在业务系统之间传送数据的中间件,数据在MQ里面被称之为消息。
MQ示意图
第一个消息中间件产品在上世纪90年代初诞生于IBM,诞生后就一直备受关注和赞誉,由于当时内部只用队列来存放消息,所以被称为Message Queue(消息队列),以致于后来新增了消息主题后还是沿用这个名称。
MQ的作用
通常,业务系统之间通信有如下两种方式,直连通信(包括Socket、RPC、RMI、Corba、WebService…等)或通过MQ中转通信:
直连通信示意图
通过MQ通信示意图
首先需要申明的是:MQ并不是用来取代直连通信技术的。直连通信技术在很多业务场景中都能很好的发挥作用,它的优点是简单直接,易于使用。
但是,也有相当一部分业务场景,由于直连通信技术存在以下局限性而不得不采用另外一种通信方式:
由于每两个业务系统之间都需要建立通信连接,随着需要通信的业务系统越来越多,维护这些通信连接代码将变得越来越困难:
大量业务系统直连通信示意图
生命周期紧耦合。例如业务系统A要与业务系统B通信,业务系统B必须在线。耦合度高会导致业务系统灵活性降低。
点对点通信。业务系统一次只能发送消息给某个单独的目标业务系统。
每个业务系统只能处理少量连接。例如,10000个业务系统都需要与业务系统A通信,那么,业务系统A如何管理这10000个连接将是一个棘手的问题。
通过MQ通信则较好的解决了上述问题:业务系统将消息发送给MQ服务器,MQ服务器将消息暂存起来,对方业务系统在合适的时候再将消息取走。在这种通信方式下:
业务系统只需要与MQ服务器交互,交互的对象单一,系统的复杂度降低了。
大量业务系统通过MQ通信示意图
消息发送方和接收方业务系统没必要同时在线,系统间的耦合度降低了。
通信连接变得容易维护,例如添加一个业务系统,只需要增加一条该业务系统到MQ的连接即可,而不需要与现存的业务系统建立连接。系统的灵活性提高了。
发送方可以同时发送消息给多个接收者,通信手段上更加丰富了。
更重要的是,这种通信模式可以很轻松的实现一些企业级特性,如管理成千上万的通信连接、构建层次化的通信网络、负载均衡集群、主备倒换等功能。这些功能如果通过直连通信技术来实现,将给业务系统开发者带来极大的工作量和工作难度。
总的来说,MQ的作用就是提供了一种业务系统之间通信的方式,它的存在,弥补了直连通信技术的不足。
ApusicMQ简介
ApusicMQ从2006开始立项,2010年下半年投入重兵进行开发。目前有三个主要的版本:6.0、7.0、7.5,其中6.0和7.0目前应用不广,7.5版本是2010年下半年开发的版本,修复了大量遗留的Bug和设计缺陷,并且在性能、稳定性、管控工具上有质的飞跃。作为AESB的底层通信系统,该版本有力的支撑了AESB 7.5的大规模应用,并且在北方国际、大运会、金蝶零售事业部等项目中得到广泛的应用和检验。 ? 目前MQ团队正在开发的是8.0版
文档评论(0)