1. 程式人生 > >訊息中介軟體系列筆記

訊息中介軟體系列筆記

介紹

今天介紹的是中介軟體技術☞訊息中介軟體,將對市面比較流行的四款訊息中介軟體進行一個全網知識點彙總,所涉及的圖片版權如有侵權請聯絡我會對內容進行調整

什麼是訊息中介軟體

訊息中介軟體顧名思義,訊息傳遞的中間技術,用作端對端,點對點,進行通訊的技術,目前訊息中介軟體有同步方式和非同步方式,非同步的方式相對同步方式更加具有容錯性,目前主流的訊息中介軟體技術有activeMQ,rabbitMQ,rocketMQ,kafka目前這四種貼出效能對照表

名稱 ActiveMQ RabbitMQ RocketMQ Kafka
開發語言 java erlang java scala
單機吞吐量 萬級 萬級 十萬級 十萬級
時效性 ms級別 us級別 ms級別 ms級別
可用性 高(主從架構) 高(主從架構) 非常高(分散式架構) 非常高(分散式架構)
功能特性 成熟的產品
協議支援比較好
有較多文件
併發能力強
效能極好
延遲很低
管理介面豐富
MQ功能完備擴充套件性好 支援主要MQ功能沒有訊息回溯,
主要為日誌記錄系統和大資料平臺準備

在這裡大家可以更具實際需求做出相應的選擇

應用場景介紹(不做具體業務舉例)

  • 非同步處理
  • 應用解耦
  • 流量削峰
  • 日誌處理
  • 點對點通訊
  • 聊天室通訊

JMS

講訊息佇列就不得不提JMS 。JMS(JAVA Message Service,java訊息服務)API是一個訊息服務的標準/規範,允許應用程式元件基於JavaEE平臺建立、傳送、接收和讀取訊息。它使分散式通訊耦合度更低,訊息服務更加可靠以及非同步性。
在EJB架構中,有訊息bean可以無縫的與JM訊息服務整合。在J2EE架構模式中,有訊息服務者模式,用於實現訊息與應用直接的解耦。

  • 訊息模型
  • P2P模式
  • Pub/Sub模式
  • 訊息消費

後續

接下來我會更新對應的訊息中介軟體學習筆記歡迎大家關注訂閱