消息隊列 RocketMQ4.x介紹和新概念講解
Apache RocketMQ作為阿里開源的一款高性能、高吞吐量的分布式消息中間件
RocketMQ4.x特點
- 支持Broker和Consumer端消息過濾
- 支持發布訂閱模型,和點對點,
- 支持拉pull和推push兩種消息模式
- 單一隊列百萬消息、億級消息堆積
- 支持單master節點,多master節點,多master多slave節點
- 任意一點都是高可用,水平拓展Producer、Consumer、隊列都可以分布消息失敗重試機制、支持特定level的定時消息
- 新版本底層采用Netty
- 4.3.x支持分布式事務
- 適合金融類業務,高可用性跟蹤和審計功能。
基本概念
- Producer:消息生產者
- Producer Group:消息生產者組,發送同類消息的一個消息生產組
- Consumer:消費者
- Consumer Group:消費同類消息的多個實例
- Tag:標簽,子主題(二級分類)對topic的進一步細化,用于區分同一個主題下的不同業務的消息
- Topic:主題, 如訂單類消息,queue是消息的物理管理單位,而topic是邏輯管理單位。一個topic下可以有多個queue,默認自動創建是4個,手動創建是8個
- Message:消息,每個message必須指定一個topic
- Broker:MQ程序,接收生產的消息,提供給消費者消費的程序
- Name Server:給生產和消費者提供路由信息,提供輕量級的服務發現、路由、元數據信息,可以多個部署,互相獨立(比zookeeper更輕量)
- Offset: 偏移量,可以理解為消息進度
- commit log: 消息存儲會寫在Commit log文件里面
RocketMQ 官網
http://rocketmq.apache.org/