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
修改结束,再次输入上面的构建命令,静静地等待构建、下载依赖等~
3.配置构建完成之后,下面开始着手配置项。
3.1配置namesrv具体设置如图:
这里最重要的一步就是设置环境变量:ROCKETMQ_HOME=/Users/***/rocketmq目录结构根据自己实际情况新建文件夹,后面会用到(本文中溪源以rocketmq为例)。
3.2新建文件夹以下新建文件夹与上面配置的环境变量目录保持一致,例如:/Users/***/rocketmq,以下目录均基于rocketmq目录建立。
- rocketmq中新建conf、store、logs
- 配置conf
将distribution目录中conf中的broker.conf、logback_broker.xml、logback_namesrv.xml文件复制到上一步新建文件夹conf中。
- 修改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复制
- 修改logback_namesrv.xml配置: 需要${user.home}替换成自己上一步配置的文件夹路径;例如/Users/***/rocketmq/。
- program参数:-c /Users/***/rocketmq/conf/broker.conf
- 环境变量:ROCKETMQ_HOME=/Users/***/rocketmq
以上路径均属于上面自定义配置文件路径。 具体配置如图:
3.4 配置producer3.5 配置 consumer4.启动经历上面的一番配置后,最后一步就是启动生产者和消费者啦。 先提前说一下启动顺序:
- 启动org.apache.rocketmq.namesrv.NamesrvStartup
- 启动org.apache.rocketmq.broker.BrokerStartup
- 启动生产者org.apache.rocketmq.example.quickstart.Producer
- 启动消费者org.apache.rocketmq.example.quickstart.Consumer 如图:消费者已经成功消费消息
到此,源码本地化构建已经成功啦,接下来就是熟悉rocketmq中的各种机制啦~
相关推荐
- 【RocketMQ系列】RocketMQ集群,RocketMQ-on-DLedger集群 本文RocketMQ系列第四篇,主要介绍RocketMQ集群及如何部署自动容灾切换的 RocketMQ-on-DLedger Group。RocketMQ集群搭建ROcketMQ集群搭建有以下几种方案:「单Master模式」「多Master模式」「多Master多Slave模式-异步复制」「多Master多Slave模式-同步双写」其…
- 3DMAX提示和技巧 本主题标识使用 Civil View 的一些重要提示和技巧。常规使用屏幕分辨率至少为 1280x1024 的 Civil View。低于此分辨率时,一些面板将占用过多屏幕空间。 将视口设置为线框显示以达到最佳性能。 要尽可能简化用户界面,请在单个视口中工作并关闭 3ds Max 命令面…