複製鏈接
請複製以下鏈接發送給好友

MOM

(面向消息的中間件)

鎖定
MOM(Message Oriented Middleware)是面向消息的中間件,使用消息傳送提供者來協調消息傳送操作。MOM 需要提供 API管理工具。客户端使用api調用,把消息發送到由提供者管理的目的地。在發送消息之後,客户端會繼續執行其他工作,並且在接收方收到這個消息確認之前,提供者一直保留該消息。
中文名
MOM
外文名
Message Oriented Middleware
解    釋
面向消息的中間件
特點1
間接地將消息放入消息隊列
特點2
沒有增加應用程序的複雜性
特點3
不涉及網絡通訊的複雜性

MOM簡介

MOM通過提供消息傳遞和消息排隊模型,它可在分佈環境下擴展進程間的通信,並支持多
通訊協議、語言、應用程序、硬件和軟件平台。時下流行的MOM中間件產品IBMMQSeries、 BEA的MessageQ等。

MOM特點介紹

消息傳遞和排隊技術有以下三個主要特點:
通訊程序可在不同的時間運行:程序不在網絡上直接相互通話,而是間接地將消息放入消息隊列,因為程序間沒有直接的聯繫。所以它們不必同時運行。消息放入適當的隊列時,目標程序甚至根本不需要正在運行;即使目標程序在運行,也不意味着要立即處理該消息。
對應用程序的結構沒有約束:在複雜的應用場合中,通訊程序之間不僅可以是一對一的關係,還可以進行一對多多對一方式,甚至是上述多種方式的組合。多種通訊方式的構造並沒有增加應用程序的複雜性。
程序與網絡複雜性相隔離: 程序將消息放入消息隊列或從消息隊列中取出消息來進行通訊,與此關聯的全部活動,比如維護消息隊列、維護程序和隊列之間的關係、處理網絡的重新啓動和在網絡中移動消息等是MOM的任務,程序不直接與其它程序通話,並且它們不涉及網絡通訊的複雜性。

MOM其他信息

MOM面向消息的中間件
面向消息的中間件使用消息傳送提供者來協調消息傳送操作。MOM(Message-oriented Middleware)系統的基本元素是客户端、消息和MOM提供者,後者包括API管理工具。MOM提供者使用不同的體系結構路由和傳送消息:它可以使用集中式消息服務器,也可以將路由和傳送功能分佈在每個客户端上。某些MOM產品結合了這兩個方法。
使用MOM系統,客户端可以進行API調用,以便將消息發送到由提供者管理的目的地。該調用會調用提供者服務以路由和傳送消息。在發送消息之後,客户端會繼續執行其他工作,並確信在接收方客户端檢索該消息之前,提供者一直保留該消息。基於消息的模型與提供者的協調耦合在一起,使得創建鬆散耦合的組件系統成為可能。這樣的系統可以繼續可靠地工作,即使在有個別組件或連接失敗時也不會停機。
消息傳送提供者協調客户端之間的消息傳送的另一個優點是:通過添加管理界面,可以監視和調整性能。這樣,客户端應用程序便不必關心發送、接收和處理消息之外的任何問題。對於互操作性、可靠性、安全性、可伸縮性和性能之類的問題,應當由管理員通過編碼實現MOM系統來解決。
至此,我們已經介紹了使用面向消息的中間件連接分佈式組件的很多優點。下面將介紹其缺點。缺點之一源自鬆散耦合本身。在RPC系統中,只有在被調用函數完成任務之後,才能返回調用函數。在異步系統中,調用方客户端會繼續為接收方裝入工作,直到處理裝入工作所需的資源耗盡且被調用組件發生故障。當然,可以通過監視性能和調整消息流來儘量減少或避免這些情況,但對於RPC系統卻不必這樣做。有一點很重要,那就是了解每種系統的優缺點。每種系統所適合執行的任務都不同。有時,您需要結合兩種系統才能完全獲得所需的行為。

MOM補充信息

圖1 基於 MOM 的系統 圖1 基於 MOM 的系統
圖1中顯示MOM系統如何使兩個基於RPC的系統進行通信。圖1的左側顯示在不同的網絡節點上分佈客户端、服務器和數據存儲庫組件以提高性能的應用程序。這是一個折扣機票預定系統:最終用户為使用此服務支付一定的費用,使用該服務可以找到特定目的地和時間的最低費用。數據存儲庫保存有關註冊用户和參與此折扣計劃的航空公司的信息。服務器上的邏輯功能根據用户的請求在所參與的航空公司中查詢價格、對信息進行排序並向用户提供三個最低報價。對於每個這樣的航空公司,數據存儲庫都將保存有關可用航班的信息(座位、飛行時間和價格)。服務器組件將更新這些信息以響應最終用户輸入的數據。航空公司的服務器還訂閲MOM服務,接收折扣預定系統的信息請求,並返回座位和價格信息。如果用户決定購買PanWorld航空公司的折扣機票,則該系統的服務器組件將更新數據存儲庫中的信息,然後為請求者生成機票或者向折扣服務發送一條消息以生成機票。