消息中間件
出自 MBA智库百科(https://wiki.mbalib.com/)
目錄 |
消息中間件是指一種在需要進行網路通信的系統進行通道的建立,數據或文件發送的中間件。消息中間件的一個重要作用是可以跨平臺操作,為不同操作系統上的應用軟體集成提供便利。
現在越來越多的分散式應用系統採用消息中間件方式來構建,人們通過使用消息中間件把應用擴展到不同的操作系統和不同的網路環境。基於消息的機制更適用於由事件驅動的應用,當一個事件發生時,消息中間件通知服務方應該進行如何操作。
使用消息中間件編程可以很好地擴展到不同的操作系統和硬體平臺上。可以將消息中間件的核心安裝在需要進行消息傳遞的系統上,併在它們之間建立邏輯通道,由消息中間件實現消息發送。消息中間件既可以支持同步方式通訊,又可以支持非同步方式通訊,實際上它是一種點到點的機制,因而可以很好地適用於面向對象的編程方式。
消息中間件的工作原理是:應用之間以一系列消息的方式進行通信。在發送者和接收者的傳送過程中,消息保存在隊列中,避免在傳送過程中消息丟失,並且為接收者查看消息提供了一個區域,應用把消息發送到與接收者相關的隊列中去,如果發送者想及時得到反饋,他們就要把接收返回消息的隊列名稱包含在所有他們發送的消息中。消息傳遞機制要保證將發送者的消息傳送到目的地。在消息傳遞中,應用組件之間不必建立直接的聯繫,也就是發送方將消息放人隊列中,然後接收方自己從隊列中提取消息。發送方在發送消息時不必關心接收方是否處於接收狀態。
使用消息中間件編程採用的是消息中間件的API,可以很好地擴展到不同的操作系統和硬體平臺上。消息中間件的核心安裝在需要進行消息傳遞的系統上,在它們之間建立邏輯通道,由消息中間件實現消息發送。消息中間件可以既支持同步方式,又支持非同步方式,實際上它是一種點到點的機制,因而可以很好地適用於面向對象的編程方式。
消息中間件的任務除了以其高可靠性、高安全性傳遞消息之外,還應包括如下服務:完成不同系統之間的數據轉換、加密/解密、支持消息驅動處理模式的觸發機制、向多個應用廣播數據、發佈訂閱(publish subscribe)、錯誤恢復、網路資源定位、消息和請求的優先排序以及廣泛的錯誤查詢機制等。其中發佈訂閱是一種消息傳遞常用的形式,在這種形式中,應用對其感興趣的主題進行登記,一旦主題被一個應用“訂閱”,那麼這個應用就會接收到與該主題相關的消息。
面向消息的中間件為開發者提供瞭如下優點:在不可靠的網路上實現可靠通信;實現來自於不同平臺和網路協議的應用間的無縫連接;簡化開發模型等。面向消息的中間件的開發者可以直接調用發送/接收的應用程式介面(API)實現應用程式之間的互操作,避免了系統底層的工作,不必考慮複雜的網路通信問題。