RocketMQ是由阿里捐贈給Apache的一款分佈式、隊列模型的開源消息中間件,經歷了淘寶雙十一的洗禮。apache
Client端segmentfault
一類Producer的集合名稱,這類Producer一般發送一類消息,且發送邏輯一致bash
一類Consumer的集合名稱,這類Consumer一般消費一類消息,且消費邏輯一致服務器
Server端運維
消息中轉角色,負責存儲消息,轉發消息,這裏就是RocketMQ Server分佈式
消息的主題,用於定義並在服務端配置,消費者能夠按照主題進行訂閱,也就是消息分類,一般一個系統一個Topicui
在生產者、消費者、服務器之間傳遞的消息,一個message必須屬於一個Topic
消息是要傳遞的信息。郵件中必須包含一個主題,該主題能夠解釋爲要發送給您的信的地址。消息還可能具備可選標籤和額外的鍵值對。例如,您能夠爲消息設置業務密鑰,而後在代理服務器上查找消息以在開發過程當中診斷問題。spa
一個無狀態的名稱服務,能夠集羣部署,每個broker啓動的時候都會向名稱服務器註冊,主要是接收broker的註冊,接收客戶端的路由請求並返回路由信息3d
偏移量,消費者拉取消息時須要知道上一次消費到了什麼位置, 這一次從哪裏開始代理
分區,Topic物理上的分組,一個Topic能夠分爲多個分區,每一個分區是一一個有序的隊列。
分區中的每條消息都會給分配一個有序的ID,也就是偏移量,保證了順序,消費的正確性
用於對消息進行過濾,理解爲message的標記,同一業務不一樣目的的message能夠用相同的topic可是
能夠用不一樣的tag來區分
消息的KEY字段是爲了惟- -表示消息的,方便查問題,不是說必須設置,只是說設置爲了方便開發和運維定位問題。
好比:這個KEY能夠是訂單ID等
export NAMESRV ADDR=localhost:9876 bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
Maven依賴
<dependency> <groupld>org.apache.rocketmq</groupld> <artifactld> rocketmq-client</artifactld> <version>4.3.0</version> </dependency>
本文由博客一文多發平臺 OpenWrite 發佈!