天天看點

RocketMQ實戰(一) - 簡介1 RocketMQ是什麼2 RocketMQ的發展史3 RocketMQ的特性4 RocketMQ基本概念5 下載下傳與安裝6 引入用戶端參考

1 RocketMQ是什麼

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

  • 官網
    RocketMQ實戰(一) - 簡介1 RocketMQ是什麼2 RocketMQ的發展史3 RocketMQ的特性4 RocketMQ基本概念5 下載下傳與安裝6 引入用戶端參考

2 RocketMQ的發展史

RocketMQ實戰(一) - 簡介1 RocketMQ是什麼2 RocketMQ的發展史3 RocketMQ的特性4 RocketMQ基本概念5 下載下傳與安裝6 引入用戶端參考
  • 2017開始釋出即最新4.0.0版本
    RocketMQ實戰(一) - 簡介1 RocketMQ是什麼2 RocketMQ的發展史3 RocketMQ的特性4 RocketMQ基本概念5 下載下傳與安裝6 引入用戶端參考

3 RocketMQ的特性

RocketMQ實戰(一) - 簡介1 RocketMQ是什麼2 RocketMQ的發展史3 RocketMQ的特性4 RocketMQ基本概念5 下載下傳與安裝6 引入用戶端參考
RocketMQ實戰(一) - 簡介1 RocketMQ是什麼2 RocketMQ的發展史3 RocketMQ的特性4 RocketMQ基本概念5 下載下傳與安裝6 引入用戶端參考

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 下載下傳與安裝

  • 進入下載下傳頁面
    RocketMQ實戰(一) - 簡介1 RocketMQ是什麼2 RocketMQ的發展史3 RocketMQ的特性4 RocketMQ基本概念5 下載下傳與安裝6 引入用戶端參考
  • 下載下傳
    RocketMQ實戰(一) - 簡介1 RocketMQ是什麼2 RocketMQ的發展史3 RocketMQ的特性4 RocketMQ基本概念5 下載下傳與安裝6 引入用戶端參考
  • 解壓
    RocketMQ實戰(一) - 簡介1 RocketMQ是什麼2 RocketMQ的發展史3 RocketMQ的特性4 RocketMQ基本概念5 下載下傳與安裝6 引入用戶端參考
  • 啟動namespace 預設4g
    RocketMQ實戰(一) - 簡介1 RocketMQ是什麼2 RocketMQ的發展史3 RocketMQ的特性4 RocketMQ基本概念5 下載下傳與安裝6 引入用戶端參考
  • 啟動broke 預設8g
    RocketMQ實戰(一) - 簡介1 RocketMQ是什麼2 RocketMQ的發展史3 RocketMQ的特性4 RocketMQ基本概念5 下載下傳與安裝6 引入用戶端參考
RocketMQ實戰(一) - 簡介1 RocketMQ是什麼2 RocketMQ的發展史3 RocketMQ的特性4 RocketMQ基本概念5 下載下傳與安裝6 引入用戶端參考
  • 發送消息
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官網