RocketMQ探索序言

RocketMQ探索序言

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

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

  序言:让代码跑起来。

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

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

  • 在IntelliJ中导入源码:

174634_xFCJ_3134950.png

  • 设置RocketMQ HOME环境变量

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

          110759_cDTl_3134950.png

  • 配置nameserver和broker

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

         点击 “Run->Edit Configuration”

  1. broker

 112320_YtaY_3134950.png

         配置main函数的启动类:

com.alibaba.rocketmq.broker.BrokerStartup

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

       112926_c9y7_3134950.png

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

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

       113246_ZYm3_3134950.png

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

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

       -n 192.168.1.101:9876

  1. nameserver

        ​​​​​​114046_Ys3D_3134950.png

       和broker的配置差不多。

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

  • 启动nameserver和broker

         先启动nameserver:

         114340_7C4F_3134950.png

         再启动broker

         114419_ElGp_3134950.png

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

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

        133238_7FBR_3134950.png我是直接改了实现类。

  • 编写Producer和Consumer

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

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

转载于:https://my.oschina.net/u/3134950/blog/1031150

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2013-4-3 C#中alt键不是Keys.Alt 而是 Keys.LMenu

    2013-4-3 C#中alt键不是Keys.Alt 而是 Keys.LMenu

    2022年2月21日
    62
  • 7-10 公路村村通(并查集kruskal)

    7-10 公路村村通(并查集kruskal)最小生成树题目链接现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。输入格式:输入数据包括城镇数目正整数N(≤1000)和候选道路数目M(≤3N);随后的M行对应M条道路,每行给出3个正整数,分别是该条道路直接连通的两个城镇的编号以及该道路改建的预算成本。为简单起见,城镇从1到N编号。输出格式:输出村村通需要的最低成本。如果输入数据不足以保证畅通,则输出−1,表示需要建设更多公路。输入样例:6 151 2 51 3 3

    2022年8月8日
    3
  • pycharm不联网能运行吗_pycharm连接调试器失败

    pycharm不联网能运行吗_pycharm连接调试器失败第一步:查看你的计算机是否安装了严密的防火墙,当你开始运行编写的网络程序时他都会发出警告并且禁止你的程序连接网络你要对防火墙进行配置,让他允许你的程序或者直接关闭防火墙(慎重考虑)如下图直接关闭防火墙或者对防火墙进行设置(只要选中这两个勾,在你执行的时候会提示你是否允许XXX连接网络)第二步:因为有些代码里面可能需要根据主机名称来去本地的DNS里找对应的IP地址,由于本地的DN…

    2022年8月27日
    3
  • 指标异动分析「建议收藏」

    指标异动分析「建议收藏」What业务都会面对“为什么涨、为什么降、原因是什么?”,因此日常数据分析80%总是在围绕指标异动做分析,进行原因定位,常见的指标异动分析例如GMV、DAU等为何下降?Why指标异动分析有利于为业务方建立业务抓手,及时定位业务异常原因,进而制定相应的运营调整策略,保障业务正常稳定发展How1、明确异常指标波动标准(净值百分比)业务指标会随着内外部环境变动而不断变化,数据的波动主要体现在变动日期与基准日期的对比(同环比)出现上升或下降。指标波动通常分为周期性波动、突发性波动、持续性波动。**

    2022年6月10日
    50
  • 可控制转速CSS3旋转风车特效

    以前制作网页动画一般使用javascript,现在已经有越来越多动动画使用纯CSS实现,并且动画的控制也可以使用CSS3实现,因为CSS3来了,CSS3的动画功能确实强大。以下是一个纯CSS3制作

    2021年12月28日
    30
  • gtest框架_软件测试框架

    gtest框架_软件测试框架gtest下载与安装gitclonehttps://github.com/google/googletest.gitcdgoogletestmkdirbuildcmake..makesudomakeinstall以上命令会将gtest编译好,并将动态链接库放在/usr/local/lib目录下:zhouhao@ubuntu:/usr/loc…

    2022年9月29日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号