NameServer 启动类:NamesrvStartup
1.解析配置文件,填充属性
核心代码

分析
- 1.解析配置文件把指定的配置文件或启动命令中的选型值填充到namesrvConfig、nettyServerConfig 对象,参数来源有以下两种形式:
- -c configFile 通过-c 命令指定配置文件路径
- 使用"-- 属性名 属性值" 例如 --listenPort 9876
- 2.启动NameServer 时,可以使用./mqnameserver -c configfile -p 打印当前配置信息
NamesrvConfig 重要属性

NettyServerConfig 重要属性

2.创建、初始化NamesrvController实例

- 加载KV 配置,创建NettyServer 网络处理对象,然后开始两个定时任务,在RocketMQ 中此类定时任务统称为心跳机制。
- 定时任务1:NameServer 没隔10s 扫描一次Broker,移除处于不激活状态的Broker.
- 定时任务2:NameServer 每隔10分钟,打印一次KV 配置
3.注册JVM 钩子函数并启动服务器,以便监听Broker、消息生产者的网络请求。

总结
