消息中間件是用于消息存放的重要組件,逐漸成為企業(yè)信息技術(shù)系統(tǒng)中的核心通信手段。它具有松耦合、可靠傳輸、廣播、流量控制和最終一致性等一系列功能。消息中間件一般都內(nèi)置了高效的通信機(jī)制,因此也可以用在純的消息通訊。比如實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)消息隊(duì)列,或者聊天室等。組成如下:
1、消息服務(wù)器
以服務(wù)的形式運(yùn)行在server端,給各個(gè)業(yè)務(wù)系統(tǒng)提供核心消息數(shù)據(jù)的中轉(zhuǎn)服務(wù)。
2、消息生產(chǎn)者
消息發(fā)送者發(fā)送消息到指定的消息隊(duì)列中,負(fù)責(zé)生產(chǎn)消息傳輸給消息服務(wù)器。
3、消息消費(fèi)者
也叫消息接受者,負(fù)責(zé)從消息服務(wù)器獲取消息并進(jìn)行業(yè)務(wù)邏輯處理。通過(guò)調(diào)用消息服務(wù)的消費(fèi)接口從隊(duì)列中讀取消息,消費(fèi)確認(rèn)后消費(fèi)者將無(wú)法再次消費(fèi)該消息。
4、主題模塊
發(fā)布訂閱模式下的消息統(tǒng)一匯集地,不同生產(chǎn)者向主題模塊發(fā)送消息,由消息服務(wù)器分發(fā)到不同的訂閱者,實(shí)現(xiàn)消息的廣播。
5、消息體
根據(jù)不同通信協(xié)議定義的固定格式進(jìn)行編碼的數(shù)據(jù)包,來(lái)封裝業(yè)務(wù)數(shù)據(jù),實(shí)現(xiàn)消息的傳輸。