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

文件路径&

RocketMQ源码:Broker启动过程介绍相关推荐

  1. golang源码分析-启动过程概述

    golang源码分析-启动过程概述 golang语言作为根据CSP模型实现的一种强类型的语言,本文主要就是通过简单的实例来分析一下golang语言的启动流程,为深入了解与学习做铺垫. golang代码 ...

  2. Spring源码之启动过程(四)—— Bean的实例化详解

    前面,我们把Bean的生命周期做了一个概述和梳理,为的是更深刻的理解容器启动及Bean的生命周期,最主要的是Bean的实例化过程,没有看过的,可以进去先看一下(文章链接:Spring源码之Bean的生 ...

  3. Kubernetes Scheduler源码分析--启动过程与多队列缓存(续)

    继续上文对Scheduler的分析,分析在Scheduler主循环处理过程中,podQueue,Queue和assumePod 三个队列的处理. Scheduler中SchedulerOne为主要的处 ...

  4. 新手大战Android源码之启动过程

    新手上路,当学习笔记整理记忆. 先来个基本启动流程框架图: 1 招兵买马 古语云:机会总是留给有准备的人.为了这场战役,我准备了如下几个利器. 深入理解Android卷I书籍一本 有关博客数篇,大小不 ...

  5. RocketMQ源码(4)—Broker启动加载消息文件以及恢复数据源码【一万字】

    详细介绍了Broker启动加载消息文件以及恢复数据源码. 此前我们学习了Broker的启动源码:RocketMQ源码(3)-Broker启动流程源码解析[一万字],Broker的启动过程中,在Defa ...

  6. 6、RocketMQ 源码解析之 Broker 启动(上)

    上面一篇我们介绍了 RocketMQ 的元数据管理,它是通过自定义一个 KV 服务器.并且其它服务在 NameServer 注册服务信息的时候都是全量注册.如果 RocketMQ 的拓扑图当中有多台 ...

  7. RocketMQ源码(十)—Broker 消息刷盘服务GroupCommitService、FlushRealTimeService、CommitRealTimeService源码深度解析

    深入的介绍了broker的消息刷盘服务源码解析,以及高性能的刷盘机制. 学习RocketMQ的时候,我们知道RocketMQ的刷盘策略有两个,同步或者是异步: 1. 同步刷盘:如上图所示,只有消息真正 ...

  8. RocketMQ源码(19)—Broker处理DefaultMQPushConsumer发起的拉取消息请求源码【一万字】

    基于RocketMQ release-4.9.3,深入的介绍了Broker处理DefaultMQPushConsumer发起的拉取消息请求源码. 此前我们学习了RocketMQ源码(18)-Defau ...

  9. RocketMQ源码(12)—Broker 消息刷盘服务GroupCommitService、FlushRealTimeService、CommitRealTimeService源码深度解析【一万字】

    基于RocketMQ release-4.9.3,深入的介绍了Broker 的消息刷盘源码解析,以及高性能的刷盘机制. 学习RocketMQ的时候,我们知道RocketMQ的刷盘策略有两个,同步或者异 ...

最新文章

  1. boos里的AHCI RAID_安徒恩Raid删除,安徒恩讨伐战上线,详细攻略快速看,成为新的摸金圣地...
  2. 美国服务机器人技术路线图
  3. 借“样式”巧用Word自带的多级项目符号!
  4. 服务器网站数据用什么方式加以保留?
  5. PS滤镜Nik Collection 2 for mac中文版合集
  6. nodejs 生成证书 和 wss server
  7. git can‘t merge 的处理 代码冲突问题的解决
  8. mysql5.6 主从_mysql5.6 主从配置
  9. 启动U盘更换背景图片和图标的方法
  10. 阿里云服务器如何登录?阿里云服务器的三种登录方法...
  11. Excel单元格引用
  12. 赫茨伯格的双因素激励理论(1966)--zt
  13. esp8266 BH1750光照强度传感器
  14. 架构师更多的是和人打交道,说说我见到和听说到的架构师升级步骤和平时的工作内容
  15. 【图像处理】HDF5 C++编程简介
  16. uniapp jql操作数据库
  17. 在线长篇英语文章翻译工具
  18. 项目随记:8250-Oneplus
  19. 反射型xss测试(owasp)
  20. ARM硬件平台上基于UCOS移植Lwip网络协议栈

热门文章

  1. 微信公众平台开发环境搭建
  2. java.lang.NumberFormatException 错误及解决办法
  3. SMARTFORM 转 PDF
  4. 财经法规2013江苏模拟题
  5. alv导出本地文件DUMP
  6. abap程序(成本分析报表)
  7. ALV中动态内表+行转化为列
  8. 干燥剂变身“配重剂”,究竟有多少商家在休闲零食市场浑水摸鱼?
  9. sqlbulkcopy是覆盖式更新吗_React 328道最全面试题(持续更新)
  10. web.config mysql_web.config配置mysql数据库连接