訊息中介軟體系列筆記
阿新 • • 發佈:2019-02-13
介紹
今天介紹的是中介軟體技術☞訊息中介軟體,將對市面比較流行的四款訊息中介軟體進行一個全網知識點彙總,所涉及的圖片版權如有侵權請聯絡我會對內容進行調整
什麼是訊息中介軟體
訊息中介軟體顧名思義,訊息傳遞的中間技術,用作端對端,點對點,進行通訊的技術,目前訊息中介軟體有同步方式和非同步方式,非同步的方式相對同步方式更加具有容錯性,目前主流的訊息中介軟體技術有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模式
- 訊息消費
後續
接下來我會更新對應的訊息中介軟體學習筆記歡迎大家關注訂閱