網站首頁 編程語言 正文
前言
發現公司這邊的消息中間件采用了aliyun的RocketMQ服務,熟悉開源的同學都知道,RocketMQ是國內最早一批捐獻Apache并成功畢業的項目。架構設計參考了kafka的模式,所以如果你了解kafka的架構,對于RocketMQ就可以輕車熟路了,雖然參考了kafka,但是RocketMQ也有很多的升級,比如Broker的注冊和發現就采用了內部的NameServer,沒有引入更多的第三方依賴,而且添加了諸如消息回溯、事務消息、延時消息等特色功能。由于之前沒有接觸過RocketMQ(之前一直用的kafka和RabbitMQ),準備研究一番,也為了后面集成spring boot metrics監控RocketMQ客戶端信息做準備。研究一個開源項目,最好的方法就是Debug,所以記錄下本地搭建RocketMq的調試環境過程
生成安裝包
項目地址:https://github.com/apache/rocketmq?,從這個地址下載項目后,導入到IDEA開發工具,執行mvn install,生成安裝RocketMQ包,生成成功后,在distribution模塊下,會有如下目錄,這個目錄等下會用到
啟動NameServer
找到namesrv模塊,運行NamesrvStartup的main方法,這個時候會提示你,需要設置ROCKETMQ_HOME,提示信息如下:
這個時候就需要第一步生成的目錄,
拷貝/Users/kl/githubnamespace/rocketmq/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1目錄
在IDEA的運行設置界面,添加如下參數:
-Drocketmq.home.dir=/Users/kl/githubnamespace/rocketmq/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1
如:
然后在啟動,就可以成功啟動了
啟動broker
參照啟動NameServer的模式,找到borker模塊,設置好ROCKETMQ_HOME,在用相同的方式采用-D方式,配置下NameServer的地址,如:
-Drocketmq.namesrv.addr=127.0.0.1:9876
然后啟動即可,此時一個完整的跑在IDEA中的單節點架構的RocketMQ服務就搭建好了
安裝RocketMQ Console
為了更好的觀察了解RocketMQ的功能,可以安裝一個web管理控制臺,這個需要用到另一個項目
項目地址:https://github.com/apache/rocketmq-externals/tree/master/rocketmq-console
安裝成功后,就可以通過web頁面查詢producer發送的message信息,打開瀏覽器,輸入:http://localhost:8080。就可以看到如下頁面:
盡情的DEBUG
一切準備就緒后,可以找到項目的example模塊,里面內置了各種特性功能的使用案例,接下來就可以一個一個案例Runing起來,盡情的Deubg
原文鏈接:http://www.kailing.pub/article/index/arcid/315.html
相關推薦
- 2022-04-06 詳解VS2019使用scanf()函數報錯的解決方法_C 語言
- 2022-06-29 C語言實例梳理講解常用關鍵字的用法_C 語言
- 2022-04-09 Mybatis-Plus中dao層、service封裝的方法
- 2022-10-05 Ubuntu?Server?20.04?LTS?環境下搭建vim?編輯器Python?IDE的詳細步
- 2022-12-27 os_object_release?Crash?排查記錄分析_匯編語言
- 2022-10-18 Golang?內存管理簡單技巧詳解_Golang
- 2022-04-30 C#繪制實時曲線圖的方法詳解_C#教程
- 2023-07-26 vscode插件安裝失敗
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支