JMS & ActiveMq

JMS

先來了解下什么叫MOM

MOM(Message-oriented Middleware) 面向消息的中間件 。分布式系統(tǒng)的集成:利用高效可靠的消息傳遞機制進行平臺無關的數據交流,并基于數據通信進行分布式系統(tǒng)的集成。

  • 定義

    • Java Message Service
    • 是一個java平臺關于MOM(消息中間件)的api,用于兩個程序之間,或分布式系統(tǒng)中發(fā)送消息,進行異步通訊。
  • 優(yōu)勢

    • Asynchronous 異步
      • 是一個異步的消息服務
      • 客戶端獲取消息的時候,不是主動獲取,而是消息會主動發(fā)送給客戶端
    • 可靠 Reliable
      • 會保證消息只被消費一次
  • 消費模型

    • p2p 點對點
    • publish/subscribe 發(fā)布訂閱
  • 規(guī)范


    image
  • Message組成

    • Header 消息頭
    • properties 屬性 主要是對消息頭中屬性的補充
    • body 消息體 用戶自定義 包括多種 TextMessage StreamMessage MapMessage ObjectMessage BytesMessage

ActiveMq

優(yōu)勢

  • 加快系統(tǒng)響應 系統(tǒng)分布式解耦,異步并行,加快系統(tǒng)對用戶請求的訪問速度
  • 降低系統(tǒng)耦合 子系統(tǒng)間通過隊列通信,避免相互耦合和影響
  • 數據緩存 消息隊列提供億級的消息堆積能力

activemq就是實現了jms的一種provider

優(yōu)化 及參數詳解

  • 消息堆積
生產者

生產者發(fā)送的消息 主要分為兩種 PERSISTENT Message(持久化)和NON_PERSISTENT

發(fā)送NON_PERSISTENT消息發(fā)送方默認使用異步方式。異步發(fā)送并非絕對的異步,發(fā)送者會在發(fā)送一定大小之后等待回執(zhí)。

消費者

預取數量 prefetchSize
確認機制 ACK 用JMS中的acknowledge來設置

死信

多次消費都失敗 那就放入一個異常隊列 等待處理

消息順序 重復消費

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • ActiveMQ 即時通訊服務 淺析http://www.cnblogs.com/hoojo/p/active_m...
    bboymonk閱讀 1,588評論 0 11
  • JMS Java消息服務 Java消息服務(Java Message Service,JMS)應用程序接口是一個J...
    wanggs閱讀 282評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現,斷路器,智...
    卡卡羅2017閱讀 136,632評論 19 139
  • ActiveMQ 簡介:ActiveMQ 是Apache出品,最流行的,能力強勁的開源消息總線。ActiveMQ ...
    CoderZS閱讀 2,779評論 0 23
  • 向前看,向前走,向前進 美好的生活等著你。 快樂在洋溢, 幸福在洋溢, 我們一起向前沖!
    謝謝你過去和未來閱讀 184評論 0 0

友情鏈接更多精彩內容