MB与MQ区别
今天听IBM的工程师介绍了MQ和MB的特性,以及他们的区别与联系,觉得很通俗易懂,特此记录,方便将来的初学者可以更快的把握这两者的特点。
首先从概念上来说,MQ是消息中间件,MB是ESB产品,MQ负责在两个系统之间传递消息,这两个系统可以是异构的,处于不同硬件、不同操作系统、用不同语言编写,只需要简单的调用几个MQ的API,就可以互相通讯,你不必考虑底层系统和网络的复杂性。MQ作为IBM的一个拳头产品,虽然功能看上去很简单,就是个消息队列,但他却是IBM中间件的核心,也是相比其他厂商(比如BEA)的一个优势。MQ不仅有很高的性能,而且对各种平台的支持非常好,几乎你能想到的硬件和操作系统平台以及编程语言,MQ都有专门的API支持。
但MQ的功能仅限于消息队列,至于应用A发给应用B的消息格式是怎样的、能不能被应用B解析,MQ管不了,他只是尽力将消息发到目的地(MQ能够应付多种异常情况,例如网络阻塞、临时中断等等)。此外,如果应用的数目多了,那互相之间都要建立MQ连接,网络拓扑就成了蜘蛛网了(就好像是最初的电话系统)
因此,我们将网络的星型拓扑引入系统架构中,把一对一的MQ换成一个中心节点,即ESB,MB即是IBM的ESB产品。
MB处于系统的中心,起到一个总线的作用,所有应用都直接连接到MB,而不是应用之间直接互联,这样的好处不言而喻,可以极大的降低应用之间的耦合性。由此引出MB的两大核心功能:消息路由和数据转换。 因为各个应用都插入到MB上,所以应用A只管把消息丢给MB,MB自动根据消息字段、以及业务逻辑,判断要把消息交给谁,这就像路由器一样,根据数据包的头把包路由到相应地址。MB内部的业务逻辑由开发人员设定,当然利用MB的Toolkit,编写业务逻辑也非常简单:拖一些节点,用箭头把它们连起来,就像是画流程图一样,非常形象简单。再用MB的脚本语言(类似sql的脚本)实现逻辑判断,通俗地说就是判断要走哪个逻辑分支(if...else.....)。不过各个应用是怎样与MB连接的呢?MB提供了三种方式:MQ、文件和web service
MQ方式即是利用MQ将MB与应用互联;文件方式则是指定某个目录,MB会自动监视那个文件目录,一旦文件有改变则认为是新的消息到来,MB自动读取指定文件的内容;而web service就不用解释了,直接利用web service进行通讯。MB支持这些互联方式也是为了最大化兼容性,特别是对于那些遗留系统或是不支持主流通讯方式的系统
最后说说一个比较偏门的ESB产品:websphere ESB。听过的人可能不多,因为IBM在中国推广的比较少,这个WESB很像是MB的精简版,只支持JMS、WS等少数几种J2EE的通讯方式,所以是为 J2EE专门准备的。不像MB,支持数十种平台和通讯方式,例如FTP,甚至很多你根本没听说过的很古老的通信协议。这两者的性能相差不少,价格也有三四倍的差距。更要命的是,原先在WESB上开发的东西,是不能迁移到MB使用的,IBM似乎铁了心要狠狠宰我们,唯一的方法是再买一个MB,然后用MQ把 WESB和MB连接起来,各跑各的。
漏了一个DataPower,这东西我只是略有了解,它的卖点在于硬件支持XML,所以性能比较好,此外还支持一下web service安全方面的东东。因此,WESB是最小功能集,而MB与datapower功能上有一定重叠,如XML
最后声明,我不是在给IBM打广告
分享到:
相关推荐
标题中的“博客https://blog.csdn.net/weixin_49457347/article/details/1236所需文件”表明这是一个与特定博客文章相关的压缩包,但没有提供足够的信息来直接解释博客的内容。从描述中也无法获取更多细节,它只是...
技术精品文章,请访问CSDN博客:http://blog.csdn.net/ 全球最大的中文技术讨论区,请访问CSDN论坛:http://bbs.csdn.net/ 分享您认为最好的内容,请访问CSDN网摘:http://wz.csdn.net/ IT企业觅人才,个人找...
https://blog.csdn.net/a6661314/article/details/124358796的实验文件
技术精品文章,请访问CSDN博客:http://blog.csdn.net/ 全球最大的中文技术讨论区,请访问CSDN论坛:http://bbs.csdn.net/ 分享您认为最好的内容,请访问CSDN网摘:http://wz.csdn.net/ IT企业觅人才,个人找工作,请...
在《teacatcn的专栏》http://blog.csdn.net/teacatcn/archive/2008/01/23/2060482.aspx (注:該專欄中又引用《Jo Muncher's Blog》http://blog.csdn.net/JoMuncher/archive/2007/11/02/1862977.aspx) 看到...
http://blog.csdn.net/zhangerqing/article/details/8239539 https://my.oschina.net/viakiba/blog/795797
图像对比,博客https://blog.csdn.net/bigdata1994pb/category_11750065.htm图像对比,博客https://blog.csdn.net/bigdata1994pb/category_11750065.htm
详情看我的我的文章https://blog.csdn.net/wsxybz/article/details/128486717
DataList分页1:http://blog.csdn.net/zhyuanshan/archive/2007/10/30/1855507.aspx DataList分页2: http://blog.csdn.net/zhyuanshan/archive/2008/01/10/2033688.aspx
JQuery基础教程之前言和前三章:http://download.csdn.net/source/745869 JQuery基础教程之第四章:http://download.csdn.net/source/745907 JQuery基础教程之第五章:http://download.csdn.net/source/745975 JQuery...
主要讲述以http://blog.csdn.net/LCL_data/archive/2009/12/09/4974499.aspx中的链表逆序为模板来讲述指针的使用
springboot+sharding sphere+mybatis 分库分表 文章 https://blog.csdn.net/weixin_42749765/ https://blog.csdn.net/weixin_42749765/article/details/130529127
此更新包仅限于升级已有的程序至最新版(如从V1.0版、V1.1版、V1.2版、V2.0版、V2.1版、V2.5版、V3.0版以及V3.2标准版升级到V3.2增强版),如果您之前...程序链接:http://blog.csdn.net/vbcom/article/details/7245186
顺序表:https://blog.csdn.net/HAIIAKU/article/details/119302855 单链表:https://blog.csdn.net/HAIIAKU/article/details/119303873 顺序栈:https://blog.csdn.net/HAIIAKU/article/details/119304169 冒泡排序...
这是本人过去收集网上的清晰扫描图片,和预览样章合并制成的pdf。由于当时是自已学习用,所以边看边制目录书签。现在放上来希望能攒点分。由于文件有127M大,所以...第六分卷:http://download.csdn.net/source/3000440
程序员表白程序,开放源码,不断更新(第三篇:第二弹),这是loveyue系列的源码,详情请参照博客:http://blog.csdn.net/wuxia2001/article/details/45743641
Qt之TCP收发图片的例子 详见博客:https://blog.csdn.net/caoshangpa/article/deta
文章链接:https://blog.csdn.net/Jeankyw/article/details/131890436?spm=1001.2014.3001.5502
[ 数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(一)](https://blog.csdn.net/m0_53054984/article/details/136121177) [ 数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(二)]...
官方地址:http://mhdd.com/,其他下载地址:https://hddguru.com/software/2006.02.10-Magic-Boot-Disk/,使用方法请参考我的博文:https://blog.csdn.net/sdnuwjw/article/details/90143711