nameServer启动过程源码分析

发布时间 2023-03-29 16:11:48作者: 大坝谁修哈

1.1 nameServer源码入口

  

1.2 先生成nameServer的核心控制器

  

  1.2.1 加载命令行参数

  1.2.2 生成nameServer配置对象

  

  1.2.3 生成nettyServer配置对象,设置监听端口9876

  

  1.2.4 加载启动命令中 “-c” 指定的配置文件,把配置加载到配置对象namesrvConfig和nettyServerConfig中

  

  1.2.5 打印配置参数信息

  

  1.2.6 构造nameServer控制器

  

  1.2.7 合并配置信息

  

1.3 启动nameServer

  

  1.3.1 对nameServer控制器进行初始化操作,初始化失败直接退出

  

    1.3.1.1 加载配置,从指定路径读取文件,加载到内存中

  

    1.3.1.2 初始化nettyServer配置,这也是nameServer的底层通信组件

  

    1.3.1.3 初始化nettyServer工作线程池,一个8个大小的定长线程池

    1.3.1.4 注册处理器

  

    1.3.1.5 启动一个单线程的定时调度任务,每隔10s去扫描失效的broker

  

    1.3.1.6 每隔10分钟打印一下集群信息

  

  1.3.2 注册一个结束时的回调函数

  

  1.3.3 启动nameServer

  

    1.3.3.1 启动netty服务

  

      1.3.3.1.1 netty初始化group配置

  

      1.3.3.1.2 准备通用的处理器:连接管理器,编码器

  

      1.3.3.1.3 配置netty启动器bootStrap

  

      1.3.3.1.4 定时扫描正在进行的请求,移除超时的请求

  

    1.3.3.2 如果有设置的文件监听器,也启动起来