前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RocketMQ本地IDEA开发调试环境搭建

RocketMQ本地IDEA开发调试环境搭建

作者头像
kl博主
发布2023-11-18 13:30:03
2290
发布2023-11-18 13:30:03
举报
文章被收录于专栏:kl的专栏kl的专栏

前言

发现公司这边的消息中间件采用了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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 生成安装包
      • 启动NameServer
        • 启动broker
          • 安装RocketMQ Console
          • 尽情的DEBUG
          相关产品与服务
          消息队列 TDMQ
          消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档