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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • Python抛出异常_python抛出异常的作用

    Python抛出异常_python抛出异常的作用在工作中都会遇到异常报错问题,那么在这抽空码一些内容以作记录。在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误AttributeError#试图访问一个对象没有的树形,比如foo.x,但是foo没有属性xIOError#输入/输出异常;基本上是无法打开文件ImportError#无法引入模块或包;基本上是路径问题或名称错误Indentati.

    2022年10月17日
  • js自动生成二维码_jquery 生成二维码无法识别

    js自动生成二维码_jquery 生成二维码无法识别生成二维码并保存为图片,点击下载此二维码简单实现的效果,如有更好的请指教利用jquery加jquery.qrcode //外部的js <scriptsrc=”./jquery/2.1.4/jquery.min.js”></script><scriptsrc=”./jquery/jquery.qrcode.min.js”></scri…

    2022年10月18日
  • glassfish安装教程_etc安装激活后怎么使用

    glassfish安装教程_etc安装激活后怎么使用前言Glassfish是一款由Sun公司开发的(现由甲骨文公司赞助)开源的免费的应用服务器,它既是EJB容器也是WEB容器。Glassfish支持最新版的JavaEE标准。Glassfish与Tomcat的区别Tomcat只是WEB容器,并不支持EJB,而Glassfish既是WEB容器也是EJB容器。Glassfish的安装首先去Glassfish的官网https://ja…

    2022年8月20日
  • plc上位机软件编程_有上位机还必须用plc吗

    plc上位机软件编程_有上位机还必须用plc吗1、PLC的发展历程在工业生产过程中,大量的开关量顺序控制,它按照逻辑条件进行顺序动作,并按照逻辑关系进行连锁保护动作的控制,及大量离散量的数据采集。传统上,这些功能是通过气动或电气控制系统来实现的。1968年美国GM(通用汽车)公司提出取代继电气控制装置的要求,第二年,美国数字公司研制出了基于集成电路和电子技术的控制装置,首次采用程序化的手段应用于电气控制,这就是代可编程序控制器,称Progra…

    2022年9月7日
  • mqttnet消息推送与接收[通俗易懂]

    mqttnet消息推送与接收[通俗易懂]创建windows服务网上有很多,不多述;服务端做好后一定要写bat安装卸载文件install.bat@echo.请稍等,MqttNetServiceAddUserAndPassword服务安装启动中…………@echooff@title安装windows服务:MqttNetServiceAddUserAndPassword@sccreateMqttNetServiceAdd…

    2022年6月25日

发表回复

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

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