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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • linux 命令:whereis详解

    linux 命令:whereis详解linux命令:whereis详解

    2022年10月28日
  • Tomcat如何打破双亲委派机制实现隔离Web应用的?

    Tomcat通过自定义类加载器WebAppClassLoader打破双亲委托,即重写了JVM的类加载器ClassLoader的findClass方法和loadClass方法,这样做的目的是优先加载Web应用目录下的类。除此之外,你觉得Tomcat的类加载器还需要完成哪些需求呢?或者说在设计上还需要考虑哪些方面?我们知道,Tomcat作为Servlet容器,它负责加载我们的Servlet类,此外它还负责加载Servlet所依赖的JAR包。并且Tomcat本身也是一个Java程序,因此它需要加载自己的类和依赖

  • Struts+hibernate+Spring的整合方法

    Struts+hibernate+Spring的整合方法

  • NOIP2011计算系数详解[通俗易懂]

    NOIP2011计算系数详解[通俗易懂]原题见洛谷(https://www.luogu.org/problem/show?pid=1313)想看稍微简单点的就是NOIP2016的组合数问题,小飞机~(http://blog.csdn.net/a1351937368/article/details/76907902)先说一下这道题需要用到:组合数(杨辉三角),乘方做这道题的感受:题目中说(by+ax)^k,而输入顺序是先a后b搞

  • 半小时实现Java手撸Http协议,爽!!(附完整源码,建议收藏)「建议收藏」

    半小时实现Java手撸Http协议,爽!!(附完整源码,建议收藏)「建议收藏」冰河就趁着周末,只用了几个Java类就简单的实现了Http协议,爽!!

  • 详解P2P技术

    详解P2P技术P2P=PeertoPeer现在P2P也有很多不同架构,以下是常见的一些P2P架构纯P2P架构没有总是在线的服务器任意端系统之间直接通信对等方之间可以间断连接并可以改变IP地址例子:文件分发流媒体VoIP复杂应用纯P2P无法实现P2P:集中式目录Napster公司首先设计,由中央集中服务器管理当对等方启动时,它通知目录服务器以下信息IP地址可供共享的对象名称Alice查询文件“HeyJude”3)Al.

发表回复

您的电子邮箱地址不会被公开。

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