首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >RocketMQ探索序言

RocketMQ探索序言

作者头像
全栈程序员站长
发布2022-07-20 11:27:22
发布2022-07-20 11:27:22
1670
举报

大家好,又见面了,我是全栈君。

准备潜心学习一下消息中间件,于是乎RocketMQ出现在我的眼前,经过了几个双十一的考验,激起了我严重的兴趣!最后的结果就是:我毅然的开启了RocketMQ探索之旅!

序言:让代码跑起来。

下载源码为3.5.8,下载地址https://github.com/alibaba/RocketMQ/tree/v3.5.8

在IntelliJ中跑源码跑起来,这样我们就可以启动namesrv和broker(在写这篇博客的时候我已经在网上看过关于RocketMQ的相关知识了)。

  • 在IntelliJ中导入源码:
  • 设置RocketMQ HOME环境变量

因为是直接调试源码,需要将环境变量设置为解压后的目录。

  • 配置nameserver和broker

在RocketMQ的服务端,需要启动nameserver和broker两个模块。所以要在IntelliJ中配置nameserver和broker的启动项。

点击 “Run->Edit Configuration”

  1. broker

配置main函数的启动类:

代码语言:javascript
复制
com.alibaba.rocketmq.broker.BrokerStartup

配置VM OPTIONS(虚拟机启动参数):-server -Xms1g -Xmx1g -Xmn512m -XX:PermSize=128m -XX:MaxPermSize=320m。这个可以在RocketMQ自带的启动参数中查找,打开bin目录下的mqbroker文件,看到如下内容:

看出broker是通过runbroker.sh这个脚本启动的:

在runbroker.sh文件中可以看启动参数:

参数可以根据自己的内存大小进行调整,我调整1G。

配置main的启动参数:连接namesrv的地址和端口。

-n 192.168.1.101:9876

  1. nameserver

​​​​​​

和broker的配置差不多。

注意:要使用JDK1.8编译。

  • 启动nameserver和broker

先启动nameserver:

再启动broker

出现以上的日志,就表明启动成功了!

注意:我在启动中出现的问题:1:刚开始没有使用JDK1.8编译;2:直接下下来的源码在启动broker的时候报:

我是直接改了实现类。

  • 编写Producer和Consumer

这个网上比较多,我也是在网上找的。来源:https://my.oschina.net/cloudcoder/blog/200741

做完以上的动作,就可以完整的跑起来源码!接下来就可以DEBUG源码,来探索RocketMQ其中的奥秘!

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/108395.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年3月4,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档