JMS學習總結 (一)

Java消息服務學習總結(一)

     由於畢業設計的緣故,最近開始接觸並學習JMS(Java Message Service)Java消息服務的相關預備知識。經過一週多的學習,現在將學到的一些東西總結就一下。


    消息傳送機制的優點
    1.異構集成:
使用消息傳送機制可以在完全不同的平臺上實現應用程序和系統請求調用服務。
去多開源消息傳送系統和商業消息傳送系統使用了一種集成消息橋,該橋能夠將使用JMS的一條消息轉換爲通用的內部消息格式,一次來實現Java和其他語言和平臺之間的無縫連接。
   2.緩解系統瓶頸:
將請求發送到一個消息傳送系統,該系統將該請求分發給多個消息偵察器組件,以此來緩解單獨採用點對點同步通信帶來的系統瓶頸問題。
   3.提高可伸縮性:
由於消息排隊等候處理,隊列中的消息數量,或者稱爲隊列深度開始逐漸增大,等待的響應時間也開始變長,吞吐量也會下降。於是向隊列中添加多個併發消息偵聽器以便併發處理更多的請求。
   4.體系結構靈活性和敏捷性:
使用消息傳送機制,各個子系統,組件,乃至服務器能夠抽象出來。
   專業詞:面向服務體系結構(Service Oriented Architecture,SOA)    企業服務總線(Enterprise Service Bus,ESB)
   在異步消息傳送機制中,應用程序使用一個簡單的API來構建一條消息,然後再將該消息轉發給面向消息的中間件,以便傳送給一個或多個預定接收者。一條消息就是一條業務數據包,他通過網絡從一個應用程序發送給其他應用程序。消息應該是自描述的,因爲它應該包含所有必要的上下文,以便允許接收者獨立的完成他們的工作。

 集中式體系結構
使用集中式體系結構的消息傳送系統,依賴一臺消息服務器。消息服務器也成爲消息路由器或代理,負責將從一個消息傳送客戶端向其他客戶端傳送信息。消息服務器可以實現發送客戶端和其他接收客戶端的去耦。客戶端僅僅會看到消息傳送服務器,而不會看到其他客戶端,這將允許在不影響系統整體的情況下添加和刪除客戶端。     通常使用星型拓撲結構。

分散式體系結構
分散式體系結構都在使用網絡層IP組播。基於組播的消息傳送系統沒有集中式服務器。一些服務器功能(持久性,事務和安全性)作爲一個客戶端的本地部分嵌入進來。而此時消息路由則利用IP組播協議委託給網絡層。  IP組播允許應用程序加入到一個或多個IP組播組之中。分佈式體系結構不需要用於消息路由的服務器,網絡會自動地處理路由。然而每個客戶端仍然需要具有像服務器那樣的其他功能。

JMS消息傳送模型
JMS支持兩種傳送模型: 點對點模型(p2p)和發佈/訂閱模型(Pub/Sub)

消息傳送客戶端成爲JMS客戶端,而消息傳送系統則爲JMS提供者。
一個JMS應用程序由多個JMS客戶端和一個JMS提供者組成。
生產消息的JMS客戶端稱爲消息生產者,而接受消息的JMS客戶端稱爲消息消費者

點對點模型:
點對點模型允許JMS客戶端通過隊列這個虛擬管道進行同步和異步發送、接收信息。點對點中,生產者稱爲發送者,消費者稱爲接受者。
特點:隊列中的信息只能被一個客戶端接收。
發佈/訂閱模型:
消息會被髮布到名爲主題的虛擬通道中。消息生產者稱爲發佈者,消息消費者稱爲訂閱者。
特點:主題中的消息可被多個訂閱者所接收。 (廣播消息)

JMS公共核心API

JMS點對點核心API

JMS發佈/訂閱API接口


從這些圖片其實便可以看出對象產生之間的關聯關係,接下來會由代碼來表現出來。

待續。。。

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