国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
activemq指南針

activeMQ指南針_領(lǐng)域模型分析_V1.0

 


                                              

                                           圖一

activeMQ現(xiàn)在越來越復(fù)雜了,就像一個(gè)武林高手,會(huì)的套路是越來越多了,想要看清他的路數(shù),有點(diǎn)不容易。但是如果能把住他的“脈”也許就看清楚了。activeMQ做為軟件也有它的“脈象”,也就是我們經(jīng)常所說的領(lǐng)域模型。

領(lǐng)域模型尤其是象activeMQ這樣的中等規(guī)模的軟件系統(tǒng),也都是在對問題域不斷深入認(rèn)識的過程中,一次次進(jìn)化的。我們這次來分析activeMQ的領(lǐng)域模型,也是本著這樣的態(tài)度,這篇文章是1.0版,隨著我們之后的不斷認(rèn)識,該領(lǐng)域模型的分析也會(huì)不斷深入。

在正式分析前,我要申明一下,圖中所出現(xiàn)的類之間的關(guān)系,我們希望達(dá)到“神似”,并且我們也只是選擇了最為重要的一部分領(lǐng)域類。

首先介紹該模型中每個(gè)領(lǐng)域類的作用,然后再介紹它們之間的關(guān)系。

BrokeractiveMQ的一個(gè)整體代表

RegionBroker:負(fù)責(zé)分發(fā)broker的操作到相應(yīng)的消息區(qū)域

RegionactiveMQ目前有四種主要消息區(qū)域:隊(duì)列域(queueRegion)、主題域(topicRegion)、臨時(shí)隊(duì)列域(tempQueueRegion)、臨時(shí)主題域(tempTopicRegion)

TransportConnection:代表一個(gè)通訊連接

Destination:消息的目的地,主要包括兩種Queue、Topic兩種

Subscription:消息的消費(fèi)者、訂閱者

MessageStore:消息持久化存儲(chǔ),象比較復(fù)雜的Kaha存儲(chǔ)機(jī)制就放在這

PendingMessageCursor:等待發(fā)給消費(fèi)者的消息分發(fā)指針

ConnectionContext:用來維護(hù)發(fā)送請求所需的連接上下文

下面我們把這些領(lǐng)域類的關(guān)系進(jìn)行一個(gè)描述:

1、一個(gè)RegionBroker擁有4種消息域的對象。

2、RegionBroker擁有所有目的地對象(destination)

3、每個(gè)消息域(Region)也擁有它們對應(yīng)的0N個(gè)目的地對象(destination)。

4、同時(shí)每個(gè)Region也擁有它們對應(yīng)的0N個(gè)消息消費(fèi)者、訂閱者(subscription)

5、每個(gè)目的地都有一個(gè)相應(yīng)的持久化存儲(chǔ)方式(messageStore),以及一個(gè)等待發(fā)送的消息分發(fā)指針(pendingMessageCursor)

6、消息消費(fèi)者和目的地可以彼此擁有0N個(gè)。

7、每個(gè)消費(fèi)者都有一個(gè)對應(yīng)的ConnectionContext,ConnectionContext里包括一個(gè)TransportConnection對象,通過TransportConnection把真實(shí)的消息發(fā)給消費(fèi)者。

8、TransportConnection也可以做為通訊連接,偵聽消息生產(chǎn)者發(fā)出的信息,所以每個(gè)TransportConnection會(huì)指向Broker對象。

          上面的關(guān)系描述是靜態(tài)的,不便于理解,就像人的筋脈一樣,所以下面我們通過消息在activeMQ里的流動(dòng)過程,來打通activeMQ的“七筋八脈”。

     

                                               

                                                圖二

消費(fèi)生產(chǎn)者進(jìn)程向activeMQ所在進(jìn)程發(fā)送消息和消費(fèi)者消費(fèi)消息的過程如上圖所示,消息傳遞的路徑經(jīng)過了核心領(lǐng)域模型,具體步驟如下:

步驟1:生產(chǎn)者通過向activeMQ為它建立好的TransportConnection發(fā)送消息給activeMQ。

步驟2TransportConnection對象找到RegionBroker。

步驟3RegionBroker根據(jù)消息的類型找到對應(yīng)的消息區(qū)域(Region)。

步驟4:該Region在它自己里面找到相應(yīng)的消息目的地。

步驟5、6:該目的地首先根據(jù)需要進(jìn)行持久化操作,并使用待發(fā)送消息指針對象。

步驟7:當(dāng)有合適的消息消費(fèi)者、訂閱者來到時(shí),目的地會(huì)找到這些消費(fèi)者。

           步驟89:通過該消費(fèi)者對應(yīng)的TransportConnection,消息從activeMQ中出來,發(fā)給相應(yīng)的消費(fèi)者進(jìn)程。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ActiveMQ之 TCP通訊機(jī)制
ActiveMQ技術(shù)分享
activemq_使用教程
ActiveMQ 面試題(長期更新)
Kafka 對比 ActiveMQ
java面試題 --- MQ
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服