摘要: 當前,CORBA、DCOM、RMI等RPC中間件技術已廣泛應用于各個領域。但是面對規模和復雜度都越來越高的分布式系統,這些技術也顯示出其局限性:(1)同步通信:客戶發出調用后,必須等待服務對象完成處理并返回結果后才能繼續執行;(2)客戶和服務對象的生命周期緊密耦合:客戶進程和服務對象進程都必須正常運行;如果由于服務對象崩潰或者網絡故障導致客戶的請求不可達,客戶會接收到異常;(3)點對點通信:客戶的一次調用只發送給某個單獨的目標對象。
面向消息的中間件(Message Oriented Middleware,MOM)較好的解決了以上問題。發送者將消息發送給消息服務器,消息服務器將消息存放在若干隊列中,在合適的時候再將消息轉發給接收者。這種模式下,發送和接收是異步的,發送者無需等待;二者的生命周期未必相同:發送消息的時候接收者不一定運行,接收消息的時候發送者也不一定運行;一對多通信:對于一個消息可以有多個接收者。
閱讀全文