基于JMS2.0規(guī)范的消息總線研究與應(yīng)用
發(fā)布時(shí)間:2020-05-29 07:45
【摘要】:隨著信息技術(shù)的快速發(fā)展,各行業(yè)開發(fā)建設(shè)了大量信息系統(tǒng)。很多系統(tǒng)是在不同需求階段采用不同技術(shù)實(shí)現(xiàn)的,運(yùn)行在異構(gòu)的平臺(tái)上,形成很多信息孤島。這使得企業(yè)內(nèi)系統(tǒng)間發(fā)生數(shù)據(jù)交互時(shí)存在一定的難度,有時(shí)還需要專門開發(fā)相應(yīng)的交互模塊。為了使企業(yè)內(nèi)部的數(shù)據(jù)能夠集成和共享,本文采用消息總線這種中間件技術(shù),來(lái)屏蔽各應(yīng)用在技術(shù)實(shí)現(xiàn)和運(yùn)行環(huán)境方面的異構(gòu)性,實(shí)現(xiàn)數(shù)據(jù)共享。在對(duì)面向消息的中間件(MOM)技術(shù)進(jìn)行充分研究的基礎(chǔ)上,本文以較新的Java消息服務(wù)(JMS)2.0版本規(guī)范展開消息總線的研究工作。JMS2.0規(guī)范主要定義了一款消息服務(wù)應(yīng)具有的公共接口、管理對(duì)象和消息傳遞模型等公共特性。論文以具體項(xiàng)目運(yùn)行現(xiàn)狀為出發(fā)點(diǎn),較全面地分析了消息總線的功能和性能需求,整合當(dāng)前主流且高性能的Kafka消息服務(wù)進(jìn)行了二次開發(fā),完成了消息總線的概要設(shè)計(jì)、消息存儲(chǔ)、詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)、測(cè)試等工作。在論文工作過(guò)程中,著重研究消息傳遞的路由機(jī)制,以基于內(nèi)容的路由方式結(jié)合圖搜索算法設(shè)計(jì)了消息路由;并封裝Kafka的API實(shí)現(xiàn)了兩種消息傳遞模型。另一方面是以Kafka消息服務(wù)為基礎(chǔ),設(shè)計(jì)了消息總線服務(wù)在負(fù)載均衡、流量管理方面的高可用性,使總線服務(wù)保持穩(wěn)定性和可靠性。最后,根據(jù)個(gè)人參與開發(fā)的電能質(zhì)量數(shù)據(jù)監(jiān)測(cè)分析系統(tǒng)中的數(shù)據(jù)接口運(yùn)行現(xiàn)狀,將本文實(shí)現(xiàn)的消息總線應(yīng)用到項(xiàng)目,替代項(xiàng)目中目前存在的復(fù)雜多樣的數(shù)據(jù)交互方案。在消息總線的應(yīng)用研究過(guò)程中,完成了消息總線服務(wù)的功能和性能的測(cè)試,證明總線是可用的。
【圖文】:
邐j逡逑圖2-1】MS經(jīng)典API結(jié)構(gòu)逡逑圖2-1中各個(gè)類的功能見表2-1。逡逑邐表2-1經(jīng)典API中各類的功能邐逡逑ConnectionFactory邐創(chuàng)建客戶端連接到服務(wù)端的管理對(duì)象逡逑Connection邐創(chuàng)建客戶端到總線服務(wù)端之間的對(duì)話迮接逡逑Session邐客戶端消息請(qǐng)求的單線程上下文逡逑MessageProducer邐創(chuàng)建生產(chǎn)者對(duì)象,發(fā)送消息到服務(wù)端隊(duì)列成主題逡逑MessageConsumer邐創(chuàng)建消費(fèi)者對(duì)象,向服務(wù)端請(qǐng)求消息逡逑2.0版本中簡(jiǎn)化API在功能上和經(jīng)典API是相似的,但更具易用性。簡(jiǎn)化API逡逑中主要包含三部分:JMSContext、JMSProducer邋和邋JMSConsumer,結(jié)構(gòu)如圖邋2-2[22]逡逑所示。逡逑7逡逑
逑圖2-2邋JMS簡(jiǎn)化API結(jié)構(gòu)逡逑圖2-2中各個(gè)類的主要功能見表2-2。逡逑邐表2-2邋JMS2.邋0規(guī)范中主耍API邐逡逑類名邐主耍功能逡逑JMSContext邐一個(gè)JMSContext對(duì)象可以封裝原來(lái)Connection和Session邋兩個(gè)逡逑對(duì)象的行為,減少發(fā)送和接收消息耍創(chuàng)建的對(duì)象數(shù)。逡逑JMSProducer邐代替MessageProducer,可以使)4j構(gòu)建者模式配置消息屬性,逡逑易陽(yáng)性更強(qiáng)。逡逑JMSConsumer邐代代替邋MessageConsumer逡逑2.0規(guī)范的API在使用時(shí)省去了部分參數(shù),保持和經(jīng)典API相似的使用風(fēng)格和逡逑完全一致的功能特性,為保證向后的兼容性經(jīng)典API依然被保留。逡逑2.3JMS消息模型逡逑JMS消息模型主要包括消息和消息傳遞。消息可以被視為一個(gè)實(shí)體,,它擁有自逡逑己的數(shù)據(jù)結(jié)構(gòu)和屬性;而消息傳遞模型是消息總線區(qū)別于其他類型中間件的特征。逡逑2.邋3.邋1邋JMS邋消息逡逑JMS消息主要是為提供統(tǒng)一的消息API而設(shè)計(jì),可以提供統(tǒng)一的消息格式,逡逑如XML格式的消息。逡逑JMS規(guī)范定義由消息頭、消息屬性、消息體三部分構(gòu)成消息[22】。逡逑(1)
【學(xué)位授予單位】:華北電力大學(xué)(北京)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2018
【分類號(hào)】:TP311.52
本文編號(hào):2686626
【圖文】:
邐j逡逑圖2-1】MS經(jīng)典API結(jié)構(gòu)逡逑圖2-1中各個(gè)類的功能見表2-1。逡逑邐表2-1經(jīng)典API中各類的功能邐逡逑ConnectionFactory邐創(chuàng)建客戶端連接到服務(wù)端的管理對(duì)象逡逑Connection邐創(chuàng)建客戶端到總線服務(wù)端之間的對(duì)話迮接逡逑Session邐客戶端消息請(qǐng)求的單線程上下文逡逑MessageProducer邐創(chuàng)建生產(chǎn)者對(duì)象,發(fā)送消息到服務(wù)端隊(duì)列成主題逡逑MessageConsumer邐創(chuàng)建消費(fèi)者對(duì)象,向服務(wù)端請(qǐng)求消息逡逑2.0版本中簡(jiǎn)化API在功能上和經(jīng)典API是相似的,但更具易用性。簡(jiǎn)化API逡逑中主要包含三部分:JMSContext、JMSProducer邋和邋JMSConsumer,結(jié)構(gòu)如圖邋2-2[22]逡逑所示。逡逑7逡逑
逑圖2-2邋JMS簡(jiǎn)化API結(jié)構(gòu)逡逑圖2-2中各個(gè)類的主要功能見表2-2。逡逑邐表2-2邋JMS2.邋0規(guī)范中主耍API邐逡逑類名邐主耍功能逡逑JMSContext邐一個(gè)JMSContext對(duì)象可以封裝原來(lái)Connection和Session邋兩個(gè)逡逑對(duì)象的行為,減少發(fā)送和接收消息耍創(chuàng)建的對(duì)象數(shù)。逡逑JMSProducer邐代替MessageProducer,可以使)4j構(gòu)建者模式配置消息屬性,逡逑易陽(yáng)性更強(qiáng)。逡逑JMSConsumer邐代代替邋MessageConsumer逡逑2.0規(guī)范的API在使用時(shí)省去了部分參數(shù),保持和經(jīng)典API相似的使用風(fēng)格和逡逑完全一致的功能特性,為保證向后的兼容性經(jīng)典API依然被保留。逡逑2.3JMS消息模型逡逑JMS消息模型主要包括消息和消息傳遞。消息可以被視為一個(gè)實(shí)體,,它擁有自逡逑己的數(shù)據(jù)結(jié)構(gòu)和屬性;而消息傳遞模型是消息總線區(qū)別于其他類型中間件的特征。逡逑2.邋3.邋1邋JMS邋消息逡逑JMS消息主要是為提供統(tǒng)一的消息API而設(shè)計(jì),可以提供統(tǒng)一的消息格式,逡逑如XML格式的消息。逡逑JMS規(guī)范定義由消息頭、消息屬性、消息體三部分構(gòu)成消息[22】。逡逑(1)
【學(xué)位授予單位】:華北電力大學(xué)(北京)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2018
【分類號(hào)】:TP311.52
【參考文獻(xiàn)】
中國(guó)期刊全文數(shù)據(jù)庫(kù) 前7條
1 葉晨;支海邦;;物聯(lián)網(wǎng)中一種基于內(nèi)容的消息路由算法[J];小型微型計(jì)算機(jī)系統(tǒng);2015年09期
2 王新偉;;異步消息處理機(jī)制在總分?jǐn)?shù)據(jù)傳輸應(yīng)用中的研究[J];電子技術(shù)與軟件工程;2015年09期
3 李艷春;李新;焦文彬;;分布式信息系統(tǒng)中數(shù)據(jù)交換平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J];計(jì)算機(jī)工程與設(shè)計(jì);2012年07期
4 孫琳;王春喜;;支持中小企業(yè)應(yīng)用集成的JMS消息中間件設(shè)計(jì)[J];電腦知識(shí)與技術(shù);2012年19期
5 胡志輝;牛德雄;許國(guó)慶;;消息隊(duì)列管理在信息交換中的研究[J];計(jì)算機(jī)與現(xiàn)代化;2009年01期
6 薛濤;馮博琴;李波;董劍;;基于內(nèi)容的發(fā)布訂閱系統(tǒng)中快速匹配算法的研究[J];小型微型計(jì)算機(jī)系統(tǒng);2006年03期
7 徐晶,許煒;消息中間件綜述[J];計(jì)算機(jī)工程;2005年16期
本文編號(hào):2686626
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2686626.html
最近更新
教材專著