JMS基礎(1)

 

1.  消息中間件將信息以消息的形式,從一個應用程序傳送到另外一個或多個應用程序。安全

  主要特色:服務器

      (1) 消息異步接收消息發送者不須要等待消息接收者的響應網絡

      (2) 消息可靠接收確保消息在中間件可靠保存,只有接收方收到後才能刪除消息,多個消息能夠組成原子事務。有時,也要求消息不能重複傳輸。架構

2.  爲何會出現消息中間件?併發

      各個系統同步發送接收數據,相互等待,形成系統瓶頸。負載均衡

 

JMS使用場景:
  第一想到的就是異步處理其實,還能夠用JMS來解決不少複雜的問題, 例如分佈併發系統解耦負載均衡熱部署觸發器, 這些複雜的問題由於引入了JMS而變的更加簡單.異步

   (1) 同步通訊:  客戶發出調用後,必須等待服務對象完成處理並返回結果後纔可以繼續執行。性能

                    若是數據交互過程, 容許異步操做時, 能夠考慮使用JMSspa

                    好比: 用JMS來異步發送郵件. 數據的生產者交付數據後,便可當即返回而無需等待數據的執行結果,對於數據消費者能夠在合適的時機接收數據並執行. 這一點多是咱們使用JMS的主要緣由.架構設計

  (2) JMS解決分佈問題的場景, 解決分佈有兩種類型:

       第一種: 消息是集中的, 但消息的處理是分佈的. 

                   例如: 系統可能會被分爲前臺與後臺,這兩個系統是部署在不一樣的網段裏的那麼怎麼把前臺發生的業務通知後臺系統呢? 前臺系統在處理完業務請求後的同時發送一個消息到queue後臺系統的消息接收者接收到消息後當即處理這裏消息的處理也可能有必定的延期但這主要取決於消息服務器的硬件能力網絡帶寬消息接收者的處理速度等

       第二種: 消息是分佈的, 消息中間件提供了消息路由的功能。 

           即: 消息發送到一個消息服務器後, 這個消息服務器根據定義的規則再把這條消息路由轉發到其它的消息服務器。例如, 可能在北京的一個數據中心部署了數據採集系統, 採集到數據後以消息的方式發送到消息服務器, 而後消息服務器再把這條消息路由到上海的數據中心, 再由上海數據中心部署的數據處理系統來處理這條消息.
  

  (3) 若是數據交互的雙端執行效率不對等時,能夠考慮使用JMS

      主要場景爲: 數據生產的速度很是高(好比隊列),可是數據消費的速度相對較低,若是沒有良好的架構設計,必將對數據生產者形成阻塞或者數據積壓,從而對總體的性能帶來挑戰或者數據安全帶來風險; JMS就是一個很好的"數據緩衝"中心,它將密集的數據提交操做以"均勻"的速度交付給數據消費者, 從而實現系統總體的穩定性.  

         這種策略, 在日誌統計/小數據分析系統中,常常使用. 主要做用爲"緩解系統瓶頸,提升生產效率".

 

  概括爲: "異步調用、分佈、應用解耦"

相關文章
相關標籤/搜索