RocketMQ源码:Broker启动过程介绍

  • Post author:
  • Post category:其他




1. 简介

Broker 启动入口是 BrokerStartup.java => main() ,跟上一篇讲的 NameSrv 类似,首先会从启动命令判断 -c 参数,读取自定义配置文件。然后创建 BrokerController 对象,负责初始化和启动操作。

Broker 主要配置类有3个:

  • BrokerConfig:Broker相关的配置参数
  • NettyServerConfig:Netty服务端配置,默认端口号10911。NameSrv 也有这个配置,默认端口9876
  • NettyClientConfig:Netty客户端配置



2. BrokerController 初始化


代码位置:

BrokerController.java => initialize()



2.1 加载TopicConfig

文件路径:{MessageStoreConfig.storePathRootDir}/config/topics.json

记录每个Topic的信息,例如:topic名称、topic读写权限、queue的可读数量、queue的可写数量等等

加载完毕后,记录在 topicConfigManager.topicConfigTable,类型是 ConcurrentMap<String, TopicConfig>



2.2 加载ConsumerOffset

文件路径&



版权声明:本文为qq_28834355原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。