TIBCORVVSIBMMQ和JMS消息中間件的對比分析_第1頁
TIBCORVVSIBMMQ和JMS消息中間件的對比分析_第2頁
TIBCORVVSIBMMQ和JMS消息中間件的對比分析_第3頁
TIBCORVVSIBMMQ和JMS消息中間件的對比分析_第4頁
TIBCORVVSIBMMQ和JMS消息中間件的對比分析_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、TIBCORendezvous一技術(shù)介紹1.1.1. TIBCORendezvous一技術(shù)介紹TIBCORendezvous( 或 稱 為TIBCORV產(chǎn) 品 是 一 種 中 間 件 , 它 具 有 發(fā) 布 / 訂 閱(Publish/Subscribe)、基于主題尋址(Subject-BasedAddressing)和自定義數(shù)據(jù)信息(Self-DescribingDataMessages)等專利技術(shù)功能,使不同應(yīng)用平臺上的信息在一個共享白虛擬總線InformationBus(TIB)上進(jìn)行傳輸交換。這些技術(shù)能有效地幫助企業(yè)從傳統(tǒng)的請求/應(yīng)答(Request/Reply)模式轉(zhuǎn)到自動數(shù)據(jù)接受的

2、事件驅(qū)動模式(Event-Driven,或稱之為Push)。TIBCORV有助于在各種應(yīng)用系統(tǒng)中獲取信息和數(shù)據(jù),能將異構(gòu)平臺有機(jī)地聯(lián)結(jié)起來,通過以即插即用(Plug&Play)、位置無關(guān)(Location-Independent)和分布式服務(wù)(DistributedServices)的方式在WANff口LAN間配置系統(tǒng)。并且TIBCORV具有認(rèn)證消息傳遞(CertifiedMessageDelivery)、容錯(FaultTolerance)和分布式隊(duì)列(DistributedQueue)功能。因?yàn)槭褂肨IBCORV不用考慮網(wǎng)絡(luò)的技術(shù)細(xì)節(jié),而只需專注于企業(yè)應(yīng)用的開發(fā),所以能快速建立和配

3、置一個可伸縮的分布式應(yīng)用系統(tǒng)。TIBCORendezvous的優(yōu)點(diǎn):加快應(yīng)用的開發(fā),減少維護(hù)費(fèi)用;唯一獨(dú)立于硬件、操作系統(tǒng)、網(wǎng)絡(luò)和協(xié)議平臺供應(yīng)商;動態(tài)組件替換:進(jìn)程可以隨時加載、退出、替換,而不影響系統(tǒng)運(yùn)行;屏蔽網(wǎng)絡(luò)細(xì)節(jié);應(yīng)用伸縮性高;地址無關(guān),簡化增加/改變組件;提高分布系統(tǒng)的生命期;一般特性:分布式隊(duì)列實(shí)現(xiàn)一對多信息傳送;安全信息傳送;冗余機(jī)制實(shí)現(xiàn)容錯;所有平臺間對等傳輸;與其他通訊協(xié)議并存于統(tǒng)一系統(tǒng);支持多種數(shù)據(jù)內(nèi)部交換格式;系統(tǒng)開銷低,容易嵌入;線程安全,多線程安全保護(hù);支持多點(diǎn)傳送;通訊和數(shù)據(jù)特性:異步通訊;發(fā)布/訂閱,可靠的廣播(broadcast)/多播(multicast)機(jī)制

4、;,點(diǎn)對點(diǎn)請求/應(yīng)答;基于主題消息傳送;自定義數(shù)據(jù)信息與硬件/操作系統(tǒng)無關(guān);透明的信息打包或重組;認(rèn)證信息傳遞:明確的信息認(rèn)證,確保信息傳送到目的地;在進(jìn)程中斷和重新啟動狀態(tài)下確保要傳遞的信息不丟失;分布式隊(duì)列,自動實(shí)現(xiàn)負(fù)載均衡功能;傳遞信息給隊(duì)列種的某一成員;隊(duì)列成員進(jìn)程保持異步運(yùn)行;容錯:通過冗余進(jìn)程實(shí)現(xiàn)系統(tǒng)容錯;監(jiān)控活動的冗余進(jìn)程;開發(fā)特點(diǎn):提供Java、C、C+ActiveX、.NET、Perl的API庫;源碼兼容所有的平臺;支持同步/異步事件管理結(jié)構(gòu);TIBCORendezvous 包含的組件TIBCORendezvousDaemon(rvd)為應(yīng)用進(jìn)程傳遞信息,過濾主題信息,分配信

5、息;TIBCORendezvousRoutingDaemon(rvrd)在WA解口LAN間跨網(wǎng)段有效地傳遞信息, 對TIBCORendezvous應(yīng)用編碼不做任何修改;TIBCORendezvous 部署方法TIBCORV在當(dāng)前的操作環(huán)境中加入兩個組件:API庫。每個應(yīng)用程序連接到RVAPI庫的某一版本;RV通訊Daemon進(jìn)程。在大多數(shù)環(huán)境,每臺主機(jī)上面運(yùn)行一個Daemon進(jìn)程。下圖演示了一個簡單環(huán)境中兩個系統(tǒng)進(jìn)行交互的過程。主機(jī)1上運(yùn)行應(yīng)用程序A和一個daemon進(jìn)程,主機(jī)2上運(yùn)行兩個應(yīng)用程序B和C,它們通過單個daemon進(jìn)程連接到網(wǎng)絡(luò)上。所有這三個應(yīng)用程序可以進(jìn)行相互通訊。Netwcr

6、k任何主機(jī)上可以運(yùn)行任意數(shù)量的RV應(yīng)用程序。 通常一個主機(jī)上的所有RV應(yīng)用程序共享同一個RVDaemon程。RendezvousDaemon進(jìn)程應(yīng)用程序依賴RVDaemon后臺進(jìn)程進(jìn)行可靠和高效的網(wǎng)絡(luò)通訊。 (通常RVDaemon進(jìn)程和RV應(yīng)用程序運(yùn)行在同一主機(jī)上;但是RV應(yīng)用程序也可以連接到遠(yuǎn)程daemon)RV應(yīng)用程序試圖連接到RVdaemon進(jìn)程。如果daemon沒有運(yùn)行,應(yīng)用程序?qū)⒆詣訂铀⑦B接到daemon進(jìn)程。RVdaemon負(fù)責(zé)通訊的所有細(xì)節(jié):如數(shù)據(jù)的傳輸,包的排序,接收確認(rèn)包,重發(fā)請求,將信息派發(fā)到適當(dāng)?shù)膽?yīng)用程序進(jìn)程等。它為RV應(yīng)用程序隱藏了所有這些細(xì)節(jié)。XML 功能的實(shí)現(xiàn)T

7、舊CORV只是一個消息中間件產(chǎn)品,XML數(shù)據(jù)可以通過RV消息進(jìn)行傳遞,但它不提供對XML數(shù)據(jù)的處理能力。可以通過幾種方式來實(shí)現(xiàn)XML數(shù)據(jù)的處理:PrcsgramTIB-1RndozggAPITlaRendlezvousDaemoneHERerdez-AusCjemoriCoinpurer2使用TIBCOBusinessWorks產(chǎn)品對包含XML數(shù)據(jù)的RV消息進(jìn)行各種處理,如映射、變換、合并、分解等;使用第三方XML工具或API,以編程方式對RV消息中的XML數(shù)據(jù)進(jìn)行處理。如何使用 TIBCORendezvousTIBCORV本身只提供一些后臺Daemon程序以及API接口供用戶使用。 用戶使用

8、這些API,選才?RV支持的開發(fā)語言(如C/C+,Java等)開發(fā)相應(yīng)的RV應(yīng)用程序,并通過后臺Daemon進(jìn)程進(jìn)行消息的發(fā)送或接收。用戶也可以選擇TIBCO基于RV開發(fā)的一些其他產(chǎn)品(如BusinessWorks,各種Adapter等)來簡化應(yīng)用程序的開發(fā)。1.1.2.TIBCOAdapterforActiveDatabase一技術(shù)介紹概述TIBCOAdapterforActiveDatabase可以把某個數(shù)據(jù)庫中數(shù)據(jù)的變化可以發(fā)送給其他的數(shù)據(jù)庫或應(yīng)用。它把發(fā)布/訂閱與請求/回復(fù)機(jī)制擴(kuò)充到數(shù)據(jù)庫層面,使數(shù)據(jù)庫應(yīng)用可以使用多種不同層次的消息傳遞服務(wù)。它支持所有的ODBCS容數(shù)據(jù)庫,包括DB2,

9、Oracle,Sybase,Informix,MicrosoftSQLServer,TimesTenin-memorydatabase等。TIBCOAdapterforActiveDatabase|PublishISubscribe特色事先定義的數(shù)據(jù)庫表中的行發(fā)生插入、修改或刪除操作時,可以把數(shù)據(jù)按照TIBCORendezvous消息格式發(fā)布創(chuàng)建數(shù)據(jù)的拷貝,按照數(shù)據(jù)值來發(fā)布數(shù)據(jù)直接引用新的數(shù)據(jù)來發(fā)布信息。可以使用參數(shù)定義發(fā)布消息的主題,即可以根據(jù)發(fā)布數(shù)據(jù)的內(nèi)容動態(tài)床架主題??梢允褂每煽總鬏敽捅WC傳輸兩種方式進(jìn)行數(shù)據(jù)的發(fā)布。保證傳輸?shù)慕邮照呖梢允孪仍诒WC傳輸信息的發(fā)布者上注冊。事 先 定 義 的

10、 數(shù) 據(jù) 庫 表 中 的 行 發(fā) 生 插 入 、 修 改 或 刪 除 操 作 時 , 可 以 訂 閱 按 照TIBCORendezvous消息格式發(fā)布的數(shù)據(jù)變化可以使用含有通配符的主題名稱訂閱消息可以使用可靠傳輸和保證傳輸兩種方式進(jìn)行數(shù)據(jù)的訂閱。可以根據(jù)消息數(shù)量或超時時間進(jìn)行批處理提交??梢允褂没赥IBCORendezvous客戶端應(yīng)用定義特定的主題使用RV消息格式向數(shù)據(jù)庫發(fā)送SQL語句或存儲過程。使用內(nèi)建的函數(shù)來配置發(fā)布代理和訂閱代理,修改信息內(nèi)容EnterpriseMessagingServirviceTIBCOBusinessWorksTIBCOAdapterforR/3TIBCOAd

11、apterforSiebel配置TIBCOAdapterforActiveDatabase來滿足需求:定義數(shù)據(jù)庫表間關(guān)系,發(fā)布所有的相關(guān)表內(nèi)容。使用定期檢查或通知機(jī)制監(jiān)測數(shù)據(jù)庫的改變?;诘臉?biāo)準(zhǔn):通過ODBC1接多種數(shù)據(jù)庫與其他TIBCOActiveEnterprise組件實(shí)現(xiàn)互操作。使用TIBCOHawk!行系統(tǒng)監(jiān)控。支持的系統(tǒng)平臺WindowsHP-UXSolarisAIXLinux支持的數(shù)據(jù)庫系統(tǒng)OracleSybaseMSSQLDB2forOS/390DB2forAS/400DB2UDBforWindowsandUnixTIBCORV,IBMMQ 和 JMS 消息中間件的對比分析對于消

12、息中間件,絕大多數(shù)熟悉的是舊MMQ,這是目前使用最廣泛的中間件產(chǎn)品。國內(nèi)還有一款中間件TongLinkQ,結(jié)構(gòu)和MQ相似。 其實(shí)在國外還有一款叫Rendzvous的消息中間件應(yīng)用也非常廣泛,只是在國內(nèi)應(yīng)用不多,所以在國內(nèi)并沒有MQ那么大的名氣。這款消息中間件的設(shè)計和MQ是完全不同的,有很多不同的特性特點(diǎn),使得它在某些應(yīng)用場景具備更多的優(yōu)勢??偨Y(jié)一下Rendzvous的架構(gòu)特點(diǎn),和MQ的架構(gòu)以及JMS消息中間件的架構(gòu)做比較。深入了解和比較這些中問件產(chǎn)品,才能用的準(zhǔn)用的好它們。先總結(jié)一下消息中間件的功能,以上的三類中間件都實(shí)現(xiàn)了這些功能。實(shí)現(xiàn)消息的異步發(fā)送接收,發(fā)布訂閱,使得兩端的應(yīng)用解耦。實(shí)現(xiàn)消

13、息持久化機(jī)制,保證消息可靠性傳輸。優(yōu)化網(wǎng)絡(luò)傳輸,支持?jǐn)帱c(diǎn)續(xù)傳。.分布式結(jié)構(gòu)VS星型結(jié)構(gòu),推送VS接收,服務(wù)端緩存VS客戶端緩存。RV和MQ都是分布式結(jié)構(gòu)的,和JMS消息中間件的星型結(jié)構(gòu)不同。分布式消息中間件的Server在應(yīng)用環(huán)境里都會部署多個,彼此互聯(lián),沒有主備之分。JMS消息中間件的應(yīng)用部署一般都是主備兩個Server,消息的發(fā)送和接收應(yīng)用平時和主Server相連,有問題時切換到備Server,主備Server共用公共的存儲設(shè)備來保存消息。MQ和JMS消息中間件都采用消息接收端主動接收消息的方式。消息從發(fā)送端發(fā)出后,首先會緩存到Server上, 接收端應(yīng)用發(fā)起一個接收消息的請求,Serve

14、r把消息作為應(yīng)答返回給接收端。接收端不執(zhí)行接收動作,消息就會一直在Server上保存。RV和這兩種消息中間件都不同,使用的是消息推送的模式。消息從發(fā)送端發(fā)出后,并不在Server上緩存,Server只做路由把消息推送給消息接收端。消息接收端只要連接上Server,訂閱要接收的消息,這些消息就會源源不斷地從Server那里推送過來,消息先緩存到接收客戶端的隊(duì)列里,接收端應(yīng)用再從隊(duì)列里取消息??傊甊V是一個分布式結(jié)構(gòu),推送消息模式,客戶端緩存的消息中間件。分布式結(jié)構(gòu)適用于分布是應(yīng)用系統(tǒng),方便做擴(kuò)展,推送加客戶端緩存適用于高實(shí)時性消息的處理,消息需要在第一時間到達(dá)目的地,過時的消息的沒有必要保存下來

15、的,消息接收端應(yīng)用需要做的事情就是不斷地處理已經(jīng)推送到的消息。2,使用廣播和組播來實(shí)現(xiàn)一對多的發(fā)布訂閱MQ和JMS消息中間件在IP層都使用點(diǎn)對點(diǎn)的傳輸方式,而RV在IP層使用的是廣播或者組播的方式。使用廣播或者組播可以直接實(shí)現(xiàn)一對多的發(fā)布訂閱形式,發(fā)布應(yīng)用發(fā)布消息到RV網(wǎng)絡(luò)上,這些消息會廣播到網(wǎng)絡(luò)的每一個節(jié)點(diǎn)上,每一個訂閱應(yīng)用都會收到這些消息。而MQ和JMS實(shí)現(xiàn)發(fā)布訂閱就要麻煩的多了,都是在Server按消息的Topic來緩存消息,為每一個訂閱者拷貝每一條消息的引用。當(dāng)所有訂閱者都從Server上取走某條消息,這條消息才在Server上刪除。3.UDPVSTCP。MQ和JMS消息中間件不論是S

16、erver和Server的通信,還是Server和Client的通信,在傳輸層都使用TCP協(xié)議,保證消息傳輸連接的可靠性。而RV在Server和Server之間的通信使用了UDP協(xié)議,犧牲可靠性來達(dá)到高實(shí)時性的需求。RV有兩種可靠性級別,RVReliable和RVCM。RVReliable模式使用基于UDP增加了一定可靠機(jī)制的TRDP協(xié)議,在一定范圍內(nèi)具有消息包的檢查和重傳機(jī)制,保證了一定程度的消息可靠性,但不保證消息不丟失。RVCM在RVReliable基礎(chǔ)上更進(jìn)一步,在消息級別具有消息確認(rèn)和重傳機(jī)制,可以保證消息絕對不丟失。對于長度在1500個字節(jié)以下的消息,RVReliable發(fā)布消息能

17、達(dá)到150萬筆消息每秒, 接收也能達(dá)到50萬筆消息每秒。傳輸消息的性能是非常好的。4,使用消息Subject做收發(fā)兩端的匹配。MQ和JMS消息中間件在Server端按Queue和Topic來緩存消息,消息的發(fā)送端和接收端按Queue和Topic的名字來匹配。每個Server能創(chuàng)建的Queue和Topic是有限的,這也就限制了使用MQ和JMS消息中間件構(gòu)建的應(yīng)用, 這些應(yīng)用在做消息收發(fā)處理的時候只能使用粗粒度的消息分類。RV不在Server端緩存消息, 也沒有Server端的Queue和Topic。 它是使用消息的Subject來做消息發(fā)送端和接收端的匹配的。每個消息都有Subject,Subject格式是多個字符串的用接,沒有數(shù)目或者長度的限制。比如在市場數(shù)據(jù)系統(tǒng)里,行情數(shù)據(jù)消息的Subject里包含金融品種的名字,這樣的Subject可以有上百萬個。消息訂閱端可以細(xì)到只接收某個市場的某個品種的行情數(shù)據(jù)。RV使用優(yōu)化的算法實(shí)現(xiàn)Subject的篩選。如果RV網(wǎng)絡(luò)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論