• Rocketmq学习(1)源码调试


    源码调试记录

    参考学习《Rocketmq技术内幕》一书,https://me.csdn.net/prestigeding

    源码下载

    https://github.com/apache/rocketmq

    可以用心仪的idea下载源码,本地方便进行调试学习。下载好之后目录如下:
    在这里插入图片描述

    简单介绍

    接下来就是一步一步启动项目完成一些实例,入门我们主要关注这几个模块:

    • namesrv 路由中心
    • broker 解耦消费者和发送者组件
    • example 消息发送者与消费者 实例程序
    • distribution 包含配置文件

    可简单理解,不必深究,等项目搭建起来在继续钻研这些细节和概念。

    创建ROCKET_HOME

    在这里插入图片描述
    可在本地自定义一个这样的目录创建这三个文件夹;
    conf文件夹下放置如下三个文件:xml文件主要修改路径为自己刚才创建的相关文件夹即可;
    在这里插入图片描述
    broker.conf如下:

    brokerClusterName = DefaultCluster
    brokerName = broker-a
    brokerId = 0
    deleteWhen = 04
    fileReservedTime = 48
    brokerRole = ASYNC_MASTER
    flushDiskType = ASYNC_FLUSH
    
    # 添加如下配置
    namesrvAddr=127.0.0.1:9876
    
    
    storePathRootDir=D:\java\rocketmq\store
    storePathCommitLog=D:\java\rocketmq\store\commitlog
    storePathConsumeQueue=D:\java\rocketmq\store\consumequeue
    storePathIndex=D:\java\rocketmq\store\index
    storePathCheckpoint=D:\java\rocketmq\store\checkpoint
    abortFile=D:\java\rocketmq\store\abort
    

    启动程序参数修改

    在这里插入图片描述

    在这里插入图片描述
    上述圈住红色部分注意不要忘记,否则会在启动消息发送者的时候报错!

    先启动namesrv下NamesrvStartup.java,再启动broker项目下的BrokerStartup.java ,启动成功如下:
    在这里插入图片描述

    在这里插入图片描述
    上述表示启动成功,否则去ROCKET_HOME下面创建的logs目录下文件查看错误问题。

    启动quickstart

    在这里插入图片描述
    Producer.java 和Consumer.java 添加好本地地址即可启动,运行成功!


    如此便可开始我们的DEBUG学习之路了!

  • 相关阅读:
    C#中?、??与?:的使用
    循环的嵌套
    Linux中__init、__devinit等初始化宏
    AUPE学习第十章------信号
    C语言--const详解
    database is locked和SQLITE_BUSY
    vc6.0错误提示
    C/C++程序内存模型
    浅谈C中的malloc和free “来自bccn C语言论坛”
    Java几种内部类总结
  • 原文地址:https://www.cnblogs.com/Kevin-1992/p/12608350.html
Copyright © 2020-2023  润新知