rocketmq broker启动与分析点

broker初始化

在这里插入图片描述

createBrokerController()

首先介绍createBrokerController()方法
BrokerStartup.createBrokerController()这里面进行一些启动前参数的设置,其中留意一个从节点的交互,默认为broker端口+1
在这里插入图片描述

构造BrokerController

在这里插入图片描述

在createBrokerController()最后 增加钩子方法,在关闭jvm的时候,针对controller执行shutdown()方法

针对标红的brokerController的标红进行说明
在构造BrokerController初始化的属性很多,也很重要。
在这里插入图片描述

上面的各个Manager,主要是针对topic的配置,消费进度,消费者等信息的管理。
上面的各个队列
对应的是各个发送线程缓存任务的队列,比如缓存请求的队列,总长度默认是10000
以下是针对缓存请求的使用说明
在这里插入图片描述

org.apache.rocketmq.broker.BrokerController#initialize()
在这里插入图片描述

初始化各种消息处理线程
注册各种命令 的处理类。查看《rocketmq中的编程技巧 多命令,处理怎么通用设计》介绍了如何进行初始化
初始化各种定时任务
初始化高可用的DLeger功能
初始化SSL
初始化事务处理
初始化ACL
初始化钩子类

BrokerController.start()启动
启动各个服务器server
这些server主要有MessageStore 用于保存信息
各个端口的服务server。分别对应不同的端口,可以看到他们的类图如下:
在这里插入图片描述
在这里插入图片描述

各种后台处理的线程启动
向所有的nameSever注册broker信息
开启定时向nameServer注册broker信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值