RocketMq调试-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

RocketMq调试

简介: Apache RocketMQ 是一个分布式消息和流媒体平台,具有低延迟、高性能和可靠性、万亿级容量和灵活的可扩展性。本篇文章主要介绍下源码结构及如何从git上下载源码在本地调试。


一、环境搭建

1. 依赖工具

  • JDK :1.8+
  • Maven
  • Intellij IDEA

二、拉取源码

git clone https://github.com/apache/rocketmq.git

1.源码目录结构

image.png 

  • broker:broker 启动进程
  • client :消息客户端,包含消息得生产者、消费者相关的类
  • common :公共包
  • dev :开发者信息(非源代码)
  • distribution:部署文件
  • example: 样例代码
  • filter:消息过滤相关基础类
  • filtersrv:消息过滤服务器实现相关类
  • logappender:日志实现相关类
  • namesrv:NameServer 实现相关类(NameServer 启动进程)
  • openmessageing:消息开放标准
  • remoting:远程通信模块,基于Netty实现
  • srcutil:服务工具类
  • store:消息存储实现相关类
  • style:chkekstyle相关实现
  • test: 测试相关的类
  • tools:工具类,监控命令相关实现类
  • docs:rocketmq文档

三、编译源码

1、导入源码

把源码导入到idea工具中

image.png

2、编译

使用mvn clean install -Dmaven.test.skip=true,命令对源码进行编译

image.png

image.png

四、创建配置文件

在源码根目录中创建conf文件夹,并把distribution模块中的文件拷贝到conf文件夹中,主要为了broker启动时找配置文件

image.png

五、启动nameServer

nameServer启动入口是org.apache.rocketmq.namesrv.NamesrvStartup,直接启动会报错,需要配置环境变量ROCKETMQ_HOME=源码目录

image.png

六、启动broker

broker启动入口org.apache.rocketmq.broker.BrokerStartup,启动broker之前需要配置broker.conf文件位置

image.png

七、测试

使用example目录中的quickstart样例Producer/Consumer进行测试

在Producer和Consumer中设置NamesrvAddr地址,consumer.setNamesrvAddr("127.0.0.1:9876");

启动Consumer,然后启动Producer,启动成功会看到控制台上生产者输出的信息和消费者输出的信息。




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章