mq消费者组_「架构师MQ进阶」RocketMQ源码分析(四)- 源代码包结构分析
在前面第一篇中已經將源代碼下載到本地了,本篇主要是介紹代碼中相關模塊到作用。036.Rocket-MQ-Source-code-cover.png
一、源碼結構
RocketMQ源碼組織方式基于Maven按照模塊組織,如下圖所示:
RocketMQ-SouceCode-package
二、包說明
RocketMQ 核心目錄說明如下:
- [1].broker: broker模塊(broker啟動進程)
- [2].client: 消息客戶端,包含消息生產者、消息消費者相關類
- [3].common: 公共包
- [4].dev: 開發者信息(非源代碼)
- [5].distribution: 部署實例文件夾(非源代碼)
- [6].example: RocketMQ 示例代碼
- [7].filter: 消息過濾相關基礎類
- [8].filtersrv: 消息過濾服務器實現相關類(Filter啟動進程)
- [9].logappender: 日志實現相關類
- [10].namesrv: NameServer實現相關類(NameServer啟動進程)
- [11].openmessaging: 消息開放標準,正在制定中
- [12].remoting: 遠程通信模塊,基于Netty.
- [13].srvutil: 服務器工具類
- [14].store: 消息存儲實現相關類
- [15].style: checkstyle相關實現
- [16].test: 測試相關類
- [17].tools: 工具類,監控命令相關實現類
三、IDEA 調試代碼
3.1 啟動NameServer
- step1: 展開namesrv模塊,選擇NameSrvStartup的main函數進行啟動,如下圖所示
NameSrvStartup
出現如下錯誤提示: Please Set ROCKETMQ_HOME..., 如下圖所示
Error--沒有設置RocketHome環境變量
- step2: 設置環境變量ROCKETMQ_HOME,如下圖所示:
環境配置:EnvSet-01
環境配置:EnvSet-02
環境配置:EnvSet-03
環境配置:EnvSet-04
- step3: 在RocketMQ運行主目錄下創建conf、logs、cus_store三個文件夾,如下圖所示
創建文件夾
- step4: 從RocketMQ distribution 部署目錄中的conf下將broker.conf, logback_broker.mxl, logback_namesrv.xml文件復制到conf目錄下,同時修改broker.conf內容:
具體的配置截圖,如下圖所示:
Modified-broker_conf
- step5: 啟動NameSrvStartup,
啟動失敗(由于文件復制位置錯誤導致的),如下圖所示:
Start_up_error
啟動成功,如下圖所示:
Start_up_success
3.2 啟動Broker
- step1: 展開broker模塊,找到啟動類BrokerStartup,并啟動,如下圖所示:
Broker-Startup_error
- step2: 配置環境變量,如下圖所示:
Broker_Start_EnvSet
- step3: 啟動Broker,如下圖所示:
Broker_start_success
3.3 測試案例
- 3.1 step1: 展開example模塊,找到quickstart包,指定生產者和消費者的NamesrvAddr,如下圖所示:
Modified-quick-start-example
- 3.2 step2: 通過后臺管理控制臺查看集群中的Topic,Cluster,Consumer,Producer信息,
- 集群Cluster查詢,如下圖所示
RocketMQ-Cluster-Query
- 主題查詢,如下圖所示
RocketMQ-Topic-Query
- 消息查詢,如下圖所示
RocketMQ-Message-Query
- 消息消費詳情,如下圖所示
RocketMQ-Consumer-Detail
- 消費者組查詢,如下圖所示
RocketMQ-Consumergroups
結束語
本篇主要是源代碼包結構分析,并且本地將RocketMQ的相關組件在本地啟動并配合Console來進行消息的管理。相信通過本篇的學習,小伙伴們都能夠在本地將RocketMQ源碼運行的環境給跑起來了。
歡迎關注 @IT碼農職場圈 ,你的認可將會是我持續的動力,希望和大家一起邁向架構師的彼岸,共同成長!
總結
以上是生活随笔為你收集整理的mq消费者组_「架构师MQ进阶」RocketMQ源码分析(四)- 源代码包结构分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rundll32命令大全
- 下一篇: composer 学习