登錄

消息中間件

百科 > 軟件 > 消息中間件

1.什么是消息中間件

  消息中間件是指一種在需要進(jìn)行網(wǎng)絡(luò)通信的系統(tǒng)進(jìn)行通道的建立,數(shù)據(jù)文件發(fā)送的中間件。消息中間件的一個(gè)重要作用是可以跨平臺(tái)操作,為不同操作系統(tǒng)上的應(yīng)用軟件集成提供便利。

  現(xiàn)在越來(lái)越多的分布式應(yīng)用系統(tǒng)采用消息中間件方式來(lái)構(gòu)建,人們通過使用消息中間件把應(yīng)用擴(kuò)展到不同的操作系統(tǒng)和不同的網(wǎng)絡(luò)環(huán)境。基于消息的機(jī)制更適用于由事件驅(qū)動(dòng)的應(yīng)用,當(dāng)一個(gè)事件發(fā)生時(shí),消息中間件通知服務(wù)方應(yīng)該進(jìn)行如何操作。

  使用消息中間件編程可以很好地?cái)U(kuò)展到不同的操作系統(tǒng)和硬件平臺(tái)上??梢詫⑾⒅虚g件的核心安裝在需要進(jìn)行消息傳遞的系統(tǒng)上,并在它們之間建立邏輯通道,由消息中間件實(shí)現(xiàn)消息發(fā)送。消息中間件既可以支持同步方式通訊,又可以支持異步方式通訊,實(shí)際上它是一種點(diǎn)到點(diǎn)的機(jī)制,因而可以很好地適用于面向?qū)ο蟮木幊谭绞健?

2.消息中間件的工作原理

  消息中間件的工作原理是:應(yīng)用之間以一系列消息的方式進(jìn)行通信。在發(fā)送者和接收者的傳送過程中,消息保存在隊(duì)列中,避免在傳送過程中消息丟失,并且為接收者查看消息提供了一個(gè)區(qū)域,應(yīng)用把消息發(fā)送到與接收者相關(guān)的隊(duì)列中去,如果發(fā)送者想及時(shí)得到反饋,他們就要把接收返回消息的隊(duì)列名稱包含在所有他們發(fā)送的消息中。消息傳遞機(jī)制要保證將發(fā)送者的消息傳送到目的地。在消息傳遞中,應(yīng)用組件之間不必建立直接的聯(lián)系,也就是發(fā)送方將消息放人隊(duì)列中,然后接收方自己從隊(duì)列中提取消息。發(fā)送方在發(fā)送消息時(shí)不必關(guān)心接收方是否處于接收狀態(tài)。

  使用消息中間件編程采用的是消息中間件的API,可以很好地?cái)U(kuò)展到不同的操作系統(tǒng)和硬件平臺(tái)上。消息中間件的核心安裝在需要進(jìn)行消息傳遞的系統(tǒng)上,在它們之間建立邏輯通道,由消息中間件實(shí)現(xiàn)消息發(fā)送。消息中間件可以既支持同步方式,又支持異步方式,實(shí)際上它是一種點(diǎn)到點(diǎn)的機(jī)制,因而可以很好地適用于面向?qū)ο蟮木幊谭绞健?

3.消息中間件的功能及優(yōu)點(diǎn)

  消息中間件的任務(wù)除了以其高可靠性、高安全性傳遞消息之外,還應(yīng)包括如下服務(wù):完成不同系統(tǒng)之間的數(shù)據(jù)轉(zhuǎn)換、加密/解密、支持消息驅(qū)動(dòng)處理模式的觸發(fā)機(jī)制、向多個(gè)應(yīng)用廣播數(shù)據(jù)、發(fā)布訂閱(publish subscribe)、錯(cuò)誤恢復(fù)、網(wǎng)絡(luò)資源定位、消息和請(qǐng)求的優(yōu)先排序以及廣泛的錯(cuò)誤查詢機(jī)制等。其中發(fā)布訂閱是一種消息傳遞常用的形式,在這種形式中,應(yīng)用對(duì)其感興趣的主題進(jìn)行登記,一旦主題被一個(gè)應(yīng)用“訂閱”,那么這個(gè)應(yīng)用就會(huì)接收到與該主題相關(guān)的消息。

  面向消息的中間件為開發(fā)者提供了如下優(yōu)點(diǎn):在不可靠的網(wǎng)絡(luò)上實(shí)現(xiàn)可靠通信;實(shí)現(xiàn)來(lái)自于不同平臺(tái)和網(wǎng)絡(luò)協(xié)議的應(yīng)用間的無(wú)縫連接;簡(jiǎn)化開發(fā)模型等。面向消息的中間件的開發(fā)者可以直接調(diào)用發(fā)送/接收的應(yīng)用程序接口(API)實(shí)現(xiàn)應(yīng)用程序之間的互操作,避免了系統(tǒng)底層的工作,不必考慮復(fù)雜的網(wǎng)絡(luò)通信問題。

評(píng)論  |   0條評(píng)論