RocketMQ實戰(一) - 簡介

1 RocketMQ是什麼

RocketMQ是由阿里捐贈給Apache的一款分佈式、隊列模型的開源消息中間件,經歷了淘寶雙十一的洗禮。

  • 官網

2 RocketMQ的發展史

  • 2017開始發佈即最新4.0.0版本

3 RocketMQ的特性


4 RocketMQ基本概念

Client端

  • Producer Group

一類Producer的集合名稱,這類Producer通常發送一類消息,且發送邏輯一致

  • Consumer Group

一類Consumer的集合名稱,這類Consumer通常消費一類消息,且消費邏輯一致

Server端

  • Broker

消息中轉角色,負責存儲消息,轉發消息,這裏就是RocketMQ Server

  • Topic

消息的主題,用於定義並在服務端配置,消費者可以按照主題進行訂閱,也就是消息分類,通常一個系統一個Topic


  • Message

在生產者、消費者、服務器之間傳遞的消息,一個message必須屬於一個Topic
消息是要傳遞的信息。郵件中必須包含一個主題,該主題可以解釋爲要發送給您的信的地址。消息還可能具有可選標籤和額外的鍵值對。例如,您可以爲消息設置業務密鑰,然後在代理服務器上查找消息以在開發過程中診斷問題。

  • Namesrver

一個無狀態的名稱服務,可以集羣部署,每一個broker啓動的時候都會向名稱服務器註冊,主要是接收broker的註冊,接收客戶端的路由請求並返回路由信息

  • Offset

偏移量,消費者拉取消息時需要知道上一次消費到了什麼位置, 這一次從哪裏開始

  • Partition

分區,Topic物理上的分組,一個Topic可以分爲多個分區,每個分區是一一個有序的隊列。
分區中的每條消息都會給分配一個有序的ID,也就是偏移量,保證了順序,消費的正確性

  • Tag

用於對消息進行過濾,理解爲message的標記,同一業務不同目的的message可以用相同的topic但是
可以用不同的tag來區分

  • key

消息的KEY字段是爲了唯- -表示消息的,方便查問題,不是說必須設置,只是說設置爲了方便開發和運維定位問題。
比如:這個KEY可以是訂單ID等

5 下載與安裝

  • 進入下載頁面
  • 下載

  • 解壓

  • 啓動namespace 默認4g
  • 啓動broke 默認8g

  • 發送消息
export NAMESRV ADDR=localhost:9876
bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
  • 接收消息
bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

6 引入客戶端

Maven依賴

<dependency>
    <groupld>org.apache.rocketmq</groupld>
    <artifactld> rocketmq-client</artifactld>
    <version>4.3.0</version>
</dependency>

參考

RocketMQ官網

本文由博客一文多發平臺 OpenWrite 發佈!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章