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


相关推荐

  • Linux权限详解(chmod、600、644、700、711、755、777、4755、6755、7755)「建议收藏」

    Linux权限详解(chmod、600、644、700、711、755、777、4755、6755、7755)「建议收藏」权限简介Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功。 Linux下文件的权限类型一般包括读,写,执行。对应字母为r、w、x。 Linux下权限的粒度有拥有者、群组、其它组三种。每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。通常情况下,一个文件只能归属于一个用户和组,如果其它的用户想有这个文件的权限…

    2022年4月27日
    57
  • CCNP之BSCI实验2:EIGRP bandwidth 和通配符掩码「建议收藏」

    CCNP之BSCI实验2:EIGRP bandwidth 和通配符掩码「建议收藏」CCNP之BSCI实验2:EIGRPbandwidth和通配符掩码实验目的:1.针对端口配置带宽值2.通配符掩码的配置实验拓扑:如图实验步骤如下:注:这个实验是在实验1的基础上进行的,拓扑和实验1一样r1(config)#intloo1r1(config-if)#ipadd*Mar10…

    2022年7月19日
    16
  • matlab geotiff,(Not recommended) Read GeoTIFF file[通俗易懂]

    matlab geotiff,(Not recommended) Read GeoTIFF file[通俗易懂]geotiffread(Notrecommended)ReadGeoTIFFfilegeotiffreadisnotrecommended,exceptwhenreadingaGeoTIFFfilefromaURLorwhenreadingmultipleimagesfromthesamefile.Inothersituations,user…

    2022年9月27日
    2
  • c语言流水灯程序详细讲解,用c语言编写单片机流水灯程序详解[通俗易懂]

    c语言流水灯程序详细讲解,用c语言编写单片机流水灯程序详解[通俗易懂]用C语言编写的单片机流水灯程序一、硬件电路因为电路用单片机控制,所以电路非常简洁。其电路原理图见下图,印制板图如下图所示。?电路的核心部分是AT89C2051单片机,前面提到它有Pl和P3两组I/O口,我们这里只用到Pl口,共8个引脚。图中Cl、R9组成典型的上电复位(即在加电时单片机复位)电路,XTAL、C2、C3与AT89C2051片内振荡电路组成时钟振荡器。值得注意的是,C2、C3的容量不能…

    2022年5月1日
    108
  • asp.net面试题

    asp.net面试题ASP.NET常见面试题及答案(130题)1.简述private、protected、public、internal修饰符的访问权限。答.private:私有成员,在类的内部才可

    2022年7月1日
    25
  • python自行实现支付宝证书签名&验签全流程[通俗易懂]

    python自行实现支付宝证书签名&验签全流程[通俗易懂]支付宝Pythonsdk只有密钥签名,没有证书签名,下面是本人自行实现签名全流程证书签名需要新加alipay_root_cert_sn和app_cert_sn两个参数,这两个参数需要解析支付宝根证书(alipay_root_cert_sn)和应用公钥证书(appCerPublicKey_”app_id”.crt)得到:defsn_string():root_file_li=open(alipayRootCert.crt’,’r’).read().split(‘\n\n’)

    2022年5月11日
    46

发表回复

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

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