ActiveMQ學習筆記(1)——JMS的概念


1.面向消息的中間件

1.1什麼是MOM

     面向消息的中間件,Message Oriented Middleware,簡稱MOM,中文簡稱消息中間件,利用高效可靠的消息傳遞機制進行平臺無關的數據交流,並基於數據通信來進行分佈式系統的集成。

    一個MOM系統,通常會包括客戶端(Clients)、消息(Message)和 MOM,客戶端是發送或者接受消息的應用程序,消息封裝了要傳遞的內容,MOM可以存儲和轉發消息。如下圖所示,系統A和系統B之間的消息傳遞,不是直接通信,而是通過中間件來間接的傳遞。


1.2MOM的好處

  • 降低系統間通信複雜度

     有了MOM,系統間的通信,不用考慮系統是什麼語言開發的,也不用考慮複雜的網絡編程,各個系統只需要關心自身和MOM之間如何進行消息的接受和發送即可,這些操作通過簡單的API就可以完成。

  • 提高了消息的靈活性

    系統A通過MOM向系統B發送消息,消息可以存儲在MOM中,並由MOM轉發。即使是系統B不在線,MOM會持有這個消息,直到系統B連接並處理消息。

    這就是說,系統A發完消息後,就可以執行其它操作,而不必阻塞等待,尤其是對那些時間無關或者並行處理的操作,非常適用。

  • 鬆散耦合

    有了MOM的存在,對於系統B而言,只要發送的消息沒有變化,就不必考慮系統A的變化。A系統的代碼改變,不會影響到B系統,反之亦然。

2.JMS概念

2.1 JMS是什麼

     Java消息服務(Java Message Service,JMS)應用程序接口是一個Java平臺中關於面向消息中間件(MOM)的API,用於在兩個應用程序之間,或分佈式系統中發送消息,進行異步通信。Java消息服務是一個與具體平臺無關的API,絕大多數MOM提供商都對JMS提供支持。

     Java消息服務的規範包括兩種消息模式,點對點和發佈者/訂閱者。

     Java消息服務支持同步和異步的消息處理。

     一個JMS系統,通常包括了以下部分:

  • JMS Client,java語言編寫的客戶端,用於發送和接受消息。

  • Non-JMS Client,使用消息系統本地API編寫的客戶端,而不是使用JMS API。

  • Message,消息,被定義,用於在不同的客戶端之間交換。

  • JMS Provider,JMS提供商,是消息系統(比如ActiveMQ),當然,即可以支持JMS,也可以同時支持Non-JMS。

  • Administered Objects,被管理的對象,預置的JMS對象,爲客戶端使用。

     

2.3 JMS規範

JMS規範只是定義了接口,並沒有實現,規範全文見:JSR 914: JavaTM Message Service (JMS) API 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章