zoukankan      html  css  js  c++  java
  • 源码分析-环境搭建

    源码拉取

    从官方仓库 https://github.com/apache/rocketmq clone 或者 download 源码。

    image

    源码目录结构:

    • broker: broker 模块(broke 启动进程)
    • client :消息客户端,包含消息生产者、消息消费者相关类
    • common :公共包
    • dev :开发者信息(非源代码)
    • distribution :部署实例文件夹(非源代码)
    • example: RocketMQ 例代码
    • filter :消息过滤相关基础类
    • filtersrv:消息过滤服务器实现相关类(Filter启动进程)
    • logappender:日志实现相关类
    • namesrv:NameServer实现相关类(NameServer启动进程)
    • openmessageing:消息开放标准
    • remoting:远程通信模块,给予Netty
    • srvutil:服务工具类
    • store:消息存储实现相关类
    • style:checkstyle相关实现
    • test:测试相关类
    • tools:工具类,监控命令相关实现类

    导入IDEA

    image

    执行安装

    clean install -Dmaven.test.skip=true
    

    调试

    创建 conf 配置文件夹,从 distribution 拷贝 broker.conf 和 logback_broker.xml 和logback_namesrv.xml

    image

    启动NameServer

    • 展开namesrv模块,右键NamesrvStartup.java

    image

    • 配置ROCKETMQ_HOME

    image

    image

    • 重新启动

    image

    启动Broker

    • 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:\RocketMQ\data\rocketmq\dataDir
    # commitLog路径
    storePathCommitLog=D:\RocketMQ\data\rocketmq\dataDir\commitlog
    # 消息队列存储路径
    storePathConsumeQueue=D:\RocketMQ\data\rocketmq\dataDir\consumequeue
    # 消息索引存储路径
    storePathIndex=D:\RocketMQ\data\rocketmq\dataDir\index
    # checkpoint文件路径
    storeCheckpoint=D:\RocketMQ\data\rocketmq\dataDir\checkpoint
    # abort文件存储路径
    abortFile=D:\RocketMQ\data\rocketmq\dataDir\abort
    
    • 创建文件夹
    • 启动 BrokerStartup ,配置 broker.conf 和 ROCKETMQ_HOME

    image

    发送消息

    • 进入example模块的 org.apache.rocketmq.example.quickstart
    • 指定Namesrv地址
    DefaultMQProducer producer = new DefaultMQProducer("group_test");
    producer.setNamesrvAddr("127.0.0.1:9876");
    
    • 运行 main 方法,发送消息

    image

    消费消息

    • 进入example模块的 org.apache.rocketmq.example.quickstart
    • 指定Namesrv地址
            DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("group_test");
            consumer.setNamesrvAddr("127.0.0.1:9876");
    
    • 运行 main 方法,消费消息

    image

  • 相关阅读:
    解决ios手机页面overflow scroll滑动很卡的问题
    响应式网页设计:rem、em设置网页字体大小自适应
    linq 和lambda查询
    单元测试的学习
    各种仓储模式的学习
    ref 微软官网
    泛型 学习
    aop 和castle 的一些 学习文章
    autofac 的好博文
    json 序列化和反序列化的3个方法
  • 原文地址:https://www.cnblogs.com/weianlai/p/14613306.html
Copyright © 2011-2022 走看看