【源码解析9】NameServer源码解析

43 阅读1分钟

源码位置

启动的代码是这个方法org.apache.rocketmq.namesrv.NamesrvStartup#main0
启动的方式和Producer十分类似

image.png

清理掉离线的broker

从以下代码可以发现,每隔10s会对已经离线的broker进行清除
上一次心跳时间超过120s,会被认为是已离线 image.png

NameServer核心服务

RocketMQ的服务间通讯是使用自定义的二进制协议
在NameServer中会在org.apache.rocketmq.namesrv.processor.DefaultRequestProcessor#processRequest方法中对请求进行分发
image.png