• RocketMQ 源码一,启动篇


    一、项目搭建和测试


    1.1 代码拉取
    从官方仓库拉取: https://github.com/apache/rocketmq

    1.2 源码结构目录

    目录名称

    作用

    broker

    broker 模块(broke 启动进程)

    client

    消息客户端,包含消息生产者、消息消费者相关类

    common

    公共包

    dev

    开发者信息(非源代码)

    distribution

    部署实例文件夹(非源代码)

    example

    RocketMQ 例代码

    filter

    消息过滤相关基础类

    filtersrv

    消息过滤服务器实现相关类(Filter启动进程)

    logappender

    日志实现相关类

    namesrv

    NameServer实现相关类(NameServer启动进程)

    openmessageing

    消息开放标准

    remoting

    远程通信模块,给予Netty

    srcutil

    服务工具类

    store

    消息存储实现相关类

    style

    checkstyle相关实现

    test

    测试相关类

    tools

    工具类,监控命令相关实现类

    1.3 下载 Maven 依赖


    # 填入命令,并回车
    mvn clean install -Dmaven.test.skip=true

     

    1.4 调试
    1.4.1 新建conf文件夹

     并将这三个配置copy到conf文件夹

     需要为 RocketMQ 配置环境变量

     

    1.4.2 NameSrv 启动


    成功:

     

    1.4.3 BrokerSrv 启动
    新建 data 文件夹,位置自定义,用于存储 broker 数据

    修改 config 文件夹下的 broker.conf 文件

    brokerClusterName = DefaultCluster
    brokerName = broker-a
    brokerId = 0
    # namesrvAddr地址
    namesrvAddr=127.0.0.1:9876
    deleteWhen = 04
    fileReservedTime = 48
    brokerRole = ASYNC_MASTER
    flushDiskType = ASYNC_FLUSH
    autoCreateTopicEnable=true
    
    #### 配置为上面设置的文件夹路径
    # 存储路径
    storePathRootDir=D:\\cass\\rocketmq-master\\data\\dataDir
    # commitLog路径
    storePathCommitLog=D:\\cass\\rocketmq-master\\data\\dataDir\\commitlog
    # 消息队列存储路径
    storePathConsumeQueue=D:\\cass\\rocketmq-master\\data\\dataDir\\consumequeue
    # 消息索引存储路径
    storePathIndex=D:\\cass\\rocketmq-master\\data\\dataDir\\index
    # checkpoint文件路径
    storeCheckpoint=D:\\cass\\rocketmq-master\\data\\dataDir\\checkpoint
    # abort文件存储路径
    abortFile=D:\\cass\\rocketmq-master\\data\\dataDir\\abort

    找到 broker 项目,启动项目

    发现又要配置环境变量,配置方式与NameSrv 相同

    设置引用的配置文件:

    -c D:\cass\rocketmq-master\conf\broker.conf


    启动项目

     

    1.4.4 快速测试


    找到 example 项目下的 quickstart

    修改启动类,配置 namesrv 服务地址

    先启动 Producer 

     

     

    再启动 Consumer 消费

     

     

  • 相关阅读:
    面试官:你了解axios的原理吗?有看过它的源码吗?
    spyglass 学习笔记之cdc check
    Haproxy集群调度器与部署
    qt 展示TF卡(USB、SD)内容时,中文乱码问题
    gitlab推送企业微信几种方式汇总
    Android基础-如何获取通话状态
    【ASE入门学习】ASE入门系列二十三——顶点偏移
    视频怎么制作成gif动画?这个方法试试看
    RabbitMQ介绍及下载安装详解
    EPICS记录参考--Waveform记录(waveform)
  • 原文地址:https://blog.csdn.net/insis_mo/article/details/126728550