RocketMQ学习第一步之源码构建

小编:管理员 194阅读 2022.08.03

绪论

最近溪源在学习dubbo的相关API机制实践,如:负载均衡、服务分组、本地存根等等…一方面是dubbo官网文档给出了详细的介绍和demo,另一方面由于自己时间方面原因(自己现在也需要学习各种技术栈),没有整理相关实践总结。但是后面一定会整理出相关的实践总结。 今天主要给大家介绍一下rocketmq源码本地化构建,也是由于溪源项目中暂时未使用该技术栈,如果自己想要学习和精进,那只能阅读一下源码和了解相关机制啦! 好啦好啦~不再絮叨啦,无实际作用,下面进入今天的正题。

源码构建

首先,分享出rocketMQ相关资料: 项目地址:https://github.com/apache/rocketmq 中文文档:https://github.com/apache/rocketmq/tree/master/docs/cn

1.clone

源码本地化构建肯定是clone啦,大家都明白。 命令 :git clone https://github.com/apache/rocketmq.git或者大家可以使用idea直接New->Version Control

2. 构建

项目克隆结束以后,输入命令构建:mvn clean install -U -DskipTests但是但是~会那么轻松让我们构建成功吗??哈哈,惊喜终于来了—[ERROR]

  • 解决方案 Error:不再支持源选项 6。请使用 7或更高版本。 修改pom.xml文件中plugin

      org.apache.maven.plugins
      maven-compiler-plugin
      3.5.1
      
       1.8
       1.8
      
复制

修改结束,再次输入上面的构建命令,静静地等待构建、下载依赖等~

3.配置

构建完成之后,下面开始着手配置项。

3.1配置namesrv

具体设置如图:

这里最重要的一步就是设置环境变量:ROCKETMQ_HOME=/Users/***/rocketmq目录结构根据自己实际情况新建文件夹,后面会用到(本文中溪源以rocketmq为例)。

3.2新建文件夹

以下新建文件夹与上面配置的环境变量目录保持一致,例如:/Users/***/rocketmq,以下目录均基于rocketmq目录建立。

  1. rocketmq中新建conf、store、logs
  1. 配置conf

将distribution目录中conf中的broker.conf、logback_broker.xml、logback_namesrv.xml文件复制到上一步新建文件夹conf中

  1. 修改broker.conf文件 修改上步复制的broker.conf文件。新增属性值:将该文件中的存放路径需要改成自己配置的路径。
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
##以下属于自己新增配置项
#nameserAddr地址,集群用分号;分割
namesrvAddr=127.0.0.1:9876
#存储路径
storePathRootDir=/Users/***/rocketmq/store
#commitLog存储路径
storePathCommitLog=/Users/***/rocketmq/store/commitLog
#消息队列存储路径
storePathConsumeQueue=/Users/***/rocketmq/store/consumeQueue
#消息索引存储路径
storePathIndex=/Users/***/rocketmq/store/index
#checkPoint文件存储路径
storeCheckpoint=/Users/***/rocketmq/store/checkpoint
#abort文件存储路径
abortFile=/Users/***/rocketmq/store/abort
复制
  1. 修改logback_namesrv.xml配置: 需要${user.home}替换成自己上一步配置的文件夹路径;例如/Users/***/rocketmq/。
3.3 配置broker
  1. program参数:-c /Users/***/rocketmq/conf/broker.conf
  2. 环境变量:ROCKETMQ_HOME=/Users/***/rocketmq

以上路径均属于上面自定义配置文件路径。 具体配置如图:

3.4 配置producer3.5 配置 consumer4.启动

经历上面的一番配置后,最后一步就是启动生产者和消费者啦。 先提前说一下启动顺序:

  1. 启动org.apache.rocketmq.namesrv.NamesrvStartup
  2. 启动org.apache.rocketmq.broker.BrokerStartup
  3. 启动生产者org.apache.rocketmq.example.quickstart.Producer
  4. 启动消费者org.apache.rocketmq.example.quickstart.Consumer 如图:消费者已经成功消费消息

到此,源码本地化构建已经成功啦,接下来就是熟悉rocketmq中的各种机制啦~

关联标签: