999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺析開源ActiveMQ的特點(diǎn)及應(yīng)用

2015-07-16 11:18:24郭小丹
山東工業(yè)技術(shù) 2015年18期
關(guān)鍵詞:語(yǔ)言信息系統(tǒng)

郭小丹

(西藏民族大學(xué) 信息工程學(xué)院,陜西 咸陽(yáng) 712082)

0 引言

在數(shù)據(jù)交換過(guò)程中,數(shù)據(jù)傳輸是非常重要的一個(gè)步驟,消息中間件是實(shí)現(xiàn)系統(tǒng)內(nèi)部業(yè)務(wù)間的數(shù)據(jù)共享或者數(shù)據(jù)交換的基礎(chǔ),并且可以提供基于同步或者異步等多種數(shù)據(jù)通信模式,對(duì)系統(tǒng)的管理及后期的擴(kuò)展具有重要的作用,綜合分析,本論文中采用消息中間件完成信息的交互。

ActiveMQ 屬于面向消息中間件的一種,開放源碼,基于 Apache 2.0 licenced 的發(fā)布并且實(shí)現(xiàn)了 JMS1.1 規(guī)范[1],提供的企業(yè)級(jí)消息通信的可靠性、穩(wěn)定性和安全性均較高,而且方便日后擴(kuò)展。目前,ActiveMQ 已經(jīng)被許多項(xiàng)目使用并且作為異步信息通信的核心。

1 ActiveMQ概述

ActiveMQ 旨在成為標(biāo)準(zhǔn)的、跨語(yǔ)言的以及跨平臺(tái)的消息中間件。在遵循 JMS 規(guī)范的基礎(chǔ)上還添加了一些其他特點(diǎn),主要有 Java 管理擴(kuò)展(Java Management Extensions,JMX 管理);信息組通信,負(fù)責(zé)將同一組信息發(fā)送給某個(gè)用戶端進(jìn)行處理;主從管理(Master/Salve),側(cè)重于系統(tǒng)的可靠性,屬于集群模式的一種,當(dāng)系統(tǒng)的主代理發(fā)生故障,為了使得消息中間件繼續(xù)正常運(yùn)行,可讓從代理代替主代理;有序信息管理,保證信息接收方有序接收并處理信息發(fā)送端發(fā)送的信息;延遲接收發(fā)送的信息,當(dāng)信息發(fā)送方發(fā)送了信息后,信息接收方?jīng)]有及時(shí)讀取其信息,當(dāng)信息接收方開啟連接后,ActiveMQ會(huì)將之前未被信息接收方讀取的信息推送給信息接收方;信息優(yōu)先級(jí),ActiveMQ按照信息優(yōu)先級(jí)的高低按序處理和投遞信息;消息持久化,通過(guò)設(shè)置將關(guān)鍵數(shù)據(jù)持久化到數(shù)據(jù)庫(kù)中,當(dāng)消息中間件掛了,可保留關(guān)鍵數(shù)據(jù),不至于丟失重要數(shù)據(jù)等。

2 ActiveMQ 特性

ActiveMQ 遵循 JMS 規(guī)范,其特性是對(duì) JMS1.1 規(guī)范的實(shí)現(xiàn),具體有如下特性:

(1)是 Apache 默認(rèn)的 JMS provider,完全支持 J2EE1.4 和 JMS1.1規(guī)范;

(2)支持 Spring,可以很容易的把 ActiveMQ 嵌入到 Spring 系統(tǒng)里,可以使用 Spring的各種特性例如 IOC、AOP 等;

(3)支持多種傳輸協(xié)議,使得 ActiveMQ 具有更好的靈活性,可提供不同的連接;

(4)支持消息持久化,提高了信息傳輸?shù)目煽啃裕?/p>

(5)支持同步或者異步的消息傳輸模式;

(6)支持多語(yǔ)言的客戶端,ActiveMQ 提供多種客戶端 APIs,例如 Java、C/C++、PHP、.NET 等,雖然 ActiveMQ 運(yùn)行于 Java 虛擬機(jī)上,但是其客戶端能夠選擇多種被支持的其他語(yǔ)言,使得 ActiveMQ 的使用具有很好的廣泛性[2];

(7)保證了高性能的集群,ActiveMQ 的多個(gè) broker 可以同時(shí)工作,具有廣泛的不同的部署拓?fù)浣Y(jié)構(gòu),其拓?fù)浣Y(jié)構(gòu)如圖1所示,Broker,消息中間者即就是消息提供者,Broker 可以在 activemq.xml 文件中進(jìn)行配置,Store and Forward Network Federation,即消息路由分發(fā)系統(tǒng),消息中間者 Broker 接收到消息后,會(huì)通過(guò)這個(gè)系統(tǒng)對(duì)消息進(jìn)行存儲(chǔ)和分發(fā),因此 ActiveMQ 具有很好的可擴(kuò)展性。

圖1 ActiveMQ的拓?fù)浣Y(jié)構(gòu)圖

3 開源ActiveMQ的應(yīng)用

程序的耦合性表示至少兩個(gè)以上的應(yīng)用程序之間互相的依賴關(guān)系,用來(lái)度量軟件結(jié)構(gòu)內(nèi)各模塊之間的緊密度。模塊間的緊密度越高,則其耦合性越強(qiáng),說(shuō)明模塊間的獨(dú)立性就越差。程序的耦合性主要由軟件模塊之間方法的調(diào)用方式、接口的復(fù)雜性等決定的。系統(tǒng)的耦合性對(duì)于分布式應(yīng)用程序尤為重要。如果應(yīng)用程序的某個(gè)模塊發(fā)生變化時(shí)直接引起另外一個(gè)模塊的改變,那么這些模塊之間是緊耦合的;如果應(yīng)用程序的某個(gè)模塊的變化不會(huì)影響到其他模塊,那么這些模塊之間是松耦合的。

對(duì)于 CORBA、COM、EJB 和 DCE 等會(huì)使用遠(yuǎn)程過(guò)程調(diào)用(RPC,Remote ProceduralCalls)技術(shù)的屬于緊耦合技術(shù),使用該技術(shù)的情況下,調(diào)用者需阻塞直至被調(diào)用者運(yùn)行結(jié)束返回反饋信息為止。目前有很多的應(yīng)用程序使用 RPC 而且很成功,但是緊耦合的應(yīng)用程序會(huì)出現(xiàn)因系統(tǒng)的小改動(dòng)而影響整個(gè)系統(tǒng)、系統(tǒng)交互是阻塞式等顯著的缺點(diǎn)。

松耦合應(yīng)用程序不需要調(diào)用者進(jìn)入阻塞狀態(tài),松耦合系統(tǒng)可以處理應(yīng)用程序中的一些不可預(yù)見(jiàn)的變化。應(yīng)用程序的信息發(fā)送方只需要將信息發(fā)送給ActiveMQ 而不需要考慮 ActiveMQ 何時(shí)以哪種方法將信息傳輸給信息接收方,信息接收方也不用考慮信息的來(lái)源和信息的傳遞方式。ActiveMQ作為消息的中間件,支持不同編程語(yǔ)言的客戶端,也支持客戶端間的不同通信協(xié)議,可以實(shí)現(xiàn)多語(yǔ)言的復(fù)雜系統(tǒng)間的異步通信。所以,ActiveMQ 是一種靈活性較好、為多語(yǔ)言的交叉程序提供松耦合的消息中間件。根據(jù)以上特性,可以在以下場(chǎng)景使用 ActiveMQ:(1)如果兩個(gè)應(yīng)用程序之間需要通信就可以考慮使用 ActiveMQ,無(wú)論這兩個(gè)應(yīng)用程序是在同一臺(tái)主機(jī)上還是分布式的,ActiveMQ 支持消息的異步通信且能保證消息的成功投遞。如果多個(gè)應(yīng)用程序同時(shí)運(yùn)行于同一臺(tái)主機(jī)上,那么可以將 ActiveMQ 單獨(dú)部署在另一臺(tái)主機(jī)上,也可以將其內(nèi)嵌在 Java 應(yīng)用程序中。無(wú)論是訂閱模式還是點(diǎn)對(duì)點(diǎn)模式都不需要阻塞等待反饋。如果多個(gè)應(yīng)用程序是分布在多臺(tái)機(jī)器上,可以使用單一 ActiveMQ 實(shí)例或者多 ActiveMQ 實(shí)例,單一 ActiveMQ 實(shí)例中的應(yīng)用程序均與同一個(gè) ActiveMQ 進(jìn)行通信,ActiveMQ 能夠單獨(dú)運(yùn)行在一臺(tái)機(jī)器上,也能夠與一些應(yīng)用程序共同運(yùn)行在同一臺(tái)機(jī)器上;多ActiveMQ 實(shí)例中每個(gè)應(yīng)用程序都會(huì)實(shí)例化一個(gè) ActiveMQ,所有應(yīng)用程序收發(fā)信息都是通過(guò)本地ActiveMQ 實(shí)現(xiàn)的,然后這些 ActiveMQ 實(shí)例協(xié)同工作,信息根據(jù)每個(gè)應(yīng)用程序的需求通過(guò)若干 ActiveMQ 中間件被傳輸至信息的處理端;(2)適合于應(yīng)用是由多種語(yǔ)言集成的環(huán)境,ActiveMQ 由 Java 編寫,提供的客戶端 API 有 Java、C/C++、PHP、Ruby、.NET 等,當(dāng)需要集成多平臺(tái)下的多語(yǔ)言應(yīng)用時(shí),可以考慮使用 ActiveMQ,不同語(yǔ)言的客戶端間可以通過(guò) ActiveMQ 實(shí)現(xiàn)通信;(3)RPC 的替代者,雖然使用 RPC 的客戶端很多且很成功,例如 ATM、信用卡系統(tǒng)等,但是系統(tǒng)規(guī)模會(huì)因其同步請(qǐng)求要被阻塞而受限,異步通信則可以加快系統(tǒng)的請(qǐng)求處理;(4)應(yīng)用間解耦,緊耦合系統(tǒng)尤其是在分布式環(huán)境下會(huì)存在一些問(wèn)題,而松耦合系統(tǒng)的依賴性較小,對(duì)于未知變化的適應(yīng)能力較高,系統(tǒng)的部分改變不會(huì)影響整個(gè)系統(tǒng),同時(shí)系統(tǒng)應(yīng)用間的交互也簡(jiǎn)單,提高了系統(tǒng)的負(fù)載能力和可用性。

4 結(jié)語(yǔ)

分析了ActiveMQ的功能和特點(diǎn),并對(duì)它的幾個(gè)特性進(jìn)行總結(jié),指出ActiveMQ配置的操作步驟,在此基礎(chǔ)上從不同角度的需求得出相應(yīng)的配置選擇。ActiveMQ是一個(gè)優(yōu)秀的開源軟件,有豐富的配置選擇,如何更好地利用 ActiveMQ成為進(jìn)一步的研究目標(biāo)。

[1]周城,葛斌,蔣林承.一種基于消息中間件的網(wǎng)頁(yè)實(shí)時(shí)處理技術(shù)[J].電腦知識(shí)與技術(shù),2011(10).

[2]http://blog.sina.com.cn/s/blot_616e189fO100ns4s.html

猜你喜歡
語(yǔ)言信息系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
語(yǔ)言是刀
文苑(2020年4期)2020-05-30 12:35:30
讓語(yǔ)言描寫搖曳多姿
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
累積動(dòng)態(tài)分析下的同聲傳譯語(yǔ)言壓縮
我有我語(yǔ)言
展會(huì)信息
主站蜘蛛池模板: 色欲不卡无码一区二区| 在线观看亚洲天堂| 日本成人福利视频| 国产99视频精品免费视频7| 熟女日韩精品2区| 国产一在线观看| 欧美激情视频二区| 日a本亚洲中文在线观看| 国产在线精品人成导航| 四虎影视无码永久免费观看| 2021最新国产精品网站| 国产精品亚洲а∨天堂免下载| 青青青伊人色综合久久| 久久中文字幕2021精品| 久久久久亚洲AV成人人电影软件 | 激情六月丁香婷婷| a级毛片在线免费| 国产欧美日韩va| 亚洲AV无码精品无码久久蜜桃| 97se综合| 欧美日韩精品在线播放| 九九热精品视频在线| 国产一区二区三区在线观看视频 | 亚洲精品国产成人7777| 国产成人无码综合亚洲日韩不卡| 亚洲中文字幕在线一区播放| 少妇高潮惨叫久久久久久| 亚洲国产精品久久久久秋霞影院| 一本大道香蕉久中文在线播放| 日本免费一级视频| 国产精品亚洲专区一区| 国产精品欧美在线观看| 日韩大片免费观看视频播放| 久久综合九色综合97婷婷| 欧洲av毛片| 国产高清又黄又嫩的免费视频网站| 国产精鲁鲁网在线视频| 久久综合色视频| 99在线视频网站| 亚洲AV无码一区二区三区牲色| 在线视频亚洲色图| 99在线视频精品| 日韩欧美在线观看| 亚洲第一视频网| 伊人激情综合网| 国产女同自拍视频| 欧美精品v| 91九色最新地址| 麻豆精品视频在线原创| 91最新精品视频发布页| 亚洲欧美精品在线| 91久久夜色精品| 欧美精品aⅴ在线视频| 996免费视频国产在线播放| 高潮毛片免费观看| 中文天堂在线视频| 欧美va亚洲va香蕉在线| 亚洲高清资源| 国产毛片高清一级国语| 成年人国产网站| 国产女人在线视频| 亚洲三级色| 久久永久精品免费视频| 欧美日韩v| 四虎永久在线视频| 久久久国产精品免费视频| 中国精品久久| 亚洲美女视频一区| 在线国产毛片| 中国国产高清免费AV片| 99久久婷婷国产综合精| 国产精品3p视频| 国产一级二级三级毛片| 54pao国产成人免费视频| 亚洲欧洲日本在线| 福利视频99| 四虎精品国产永久在线观看| 久久综合五月婷婷| 国产三级毛片| 亚洲成人免费看| 国产二级毛片| 依依成人精品无v国产|