MB与MQ简介
今天聽(tīng)I(yíng)BM的工程師介紹了MQ和MB的特性,以及他們的區(qū)別與聯(lián)系,覺(jué)得很通俗易懂,特此記錄,方便將來(lái)的初學(xué)者可以更快的把握這兩者的特點(diǎn)。
首先從概念上來(lái)說(shuō),MQ是消息中間件,MB是ESB產(chǎn)品
MQ負(fù)責(zé)在兩個(gè)系統(tǒng)之間傳遞消息,這兩個(gè)系統(tǒng)可以是異構(gòu)的,處于不同硬件、不同操作系統(tǒng)、用不同語(yǔ)言編寫(xiě),只需要簡(jiǎn)單的調(diào)用幾個(gè)MQ的API,就可以互相通訊,你不必考慮底層系統(tǒng)和網(wǎng)絡(luò)的復(fù)雜性。MQ作為IBM的一個(gè)拳頭產(chǎn)品,雖然功能看上去很簡(jiǎn)單,就是個(gè)消息隊(duì)列,但他卻是IBM中間件的核心,也是相比其他廠商(比如BEA)的一個(gè)優(yōu)勢(shì)。MQ不僅有很高的性能,而且對(duì)各種平臺(tái)的支持非常好,幾乎你能想到的硬件和操作系統(tǒng)平臺(tái)以及編程語(yǔ)言,MQ都有專門(mén)的API支持。
但MQ的功能僅限于消息隊(duì)列,至于應(yīng)用A發(fā)給應(yīng)用B的消息格式是怎樣的、能不能被應(yīng)用B解析,MQ管不了,他只是盡力將消息發(fā)到目的地(MQ能夠應(yīng)付多種異常情況,例如網(wǎng)絡(luò)阻塞、臨時(shí)中斷等等)。此外,如果應(yīng)用的數(shù)目多了,那互相之間都要建立MQ連接,網(wǎng)絡(luò)拓?fù)渚统闪酥┲刖W(wǎng)了(就好像是最初的電話系統(tǒng))
因此,我們將網(wǎng)絡(luò)的星型拓?fù)湟胂到y(tǒng)架構(gòu)中,把一對(duì)一的MQ換成一個(gè)中心節(jié)點(diǎn),即ESB,MB即是IBM的ESB產(chǎn)品。
MB處于系統(tǒng)的中心,起到一個(gè)總線的作用,所有應(yīng)用都直接連接到MB,而不是應(yīng)用之間直接互聯(lián),這樣的好處不言而喻,可以極大的降低應(yīng)用之間的耦合性。由此引出MB的兩大核心功能:消息路由和數(shù)據(jù)轉(zhuǎn)換
因?yàn)楦鱾€(gè)應(yīng)用都插入到MB上,所以應(yīng)用A只管把消息丟給MB,MB自動(dòng)根據(jù)消息字段、以及業(yè)務(wù)邏輯,判斷要把消息交給誰(shuí),這就像路由器一樣,根據(jù)數(shù)據(jù)包的頭把包路由到相應(yīng)地址。MB內(nèi)部的業(yè)務(wù)邏輯由開(kāi)發(fā)人員設(shè)定,當(dāng)然利用MB的Toolkit,編寫(xiě)業(yè)務(wù)邏輯也非常簡(jiǎn)單:拖一些節(jié)點(diǎn),用箭頭把它們連起來(lái),就像是畫(huà)流程圖一樣,非常形象簡(jiǎn)單。再用MB的腳本語(yǔ)言(類似sql的腳本)實(shí)現(xiàn)邏輯判斷,通俗地說(shuō)就是判斷要走哪個(gè)邏輯分支(if...else.....)。
不過(guò)各個(gè)應(yīng)用是怎樣與MB連接的呢?MB提供了三種方式:MQ、文件和web service
MQ方式即是利用MQ將MB與應(yīng)用互聯(lián);文件方式則是指定某個(gè)目錄,MB會(huì)自動(dòng)監(jiān)視那個(gè)文件目錄,一旦文件有改變則認(rèn)為是新的消息到來(lái),MB自動(dòng)讀取指定文件的內(nèi)容;而web service就不用解釋了,直接利用web service進(jìn)行通訊。MB支持這些互聯(lián)方式也是為了最大化兼容性,特別是對(duì)于那些遺留系統(tǒng)或是不支持主流通訊方式的系統(tǒng)
最后說(shuō)說(shuō)一個(gè)比較偏門(mén)的ESB產(chǎn)品:websphere ESB。聽(tīng)過(guò)的人可能不多,因?yàn)镮BM在中國(guó)推廣的比較少,這個(gè)WESB很像是MB的精簡(jiǎn)版,只支持JMS、WS等少數(shù)幾種J2EE的通訊方式,所以是為J2EE專門(mén)準(zhǔn)備的。不像MB,支持?jǐn)?shù)十種平臺(tái)和通訊方式,例如FTP,甚至很多你根本沒(méi)聽(tīng)說(shuō)過(guò)的很古老的通信協(xié)議。這兩者的性能相差不少,價(jià)格也有三四倍的差距。更要命的是,原先在WESB上開(kāi)發(fā)的東西,是不能遷移到MB使用的,IBM似乎鐵了心要狠狠宰我們,唯一的方法是再買(mǎi)一個(gè)MB,然后用MQ把WESB和MB連接起來(lái),各跑各的
漏了一個(gè)DataPower,這東西我只是略有了解,它的賣點(diǎn)在于硬件支持XML,所以性能比較好,此外還支持一下web service安全方面的東東。因此,WESB是最小功能集,而MB與datapower功能上有一定重疊,如XML?
最后聲明,我不是在給IBM打廣告
轉(zhuǎn)載于:https://blog.51cto.com/6260022/1739784
總結(jié)
- 上一篇: 3维计算几何模板
- 下一篇: ***客户端出现“无法完成连接尝试”的解