RocketMQ版本:3.5.8

我觉得这段时间查看RocketMq的源码的分析越来越不到位了,可是那又能怎么样,花了不少时间源码调了几遍,虽然心里明白了点,还是描述不出来,可是毕竟花时间了总要落地点什么东西吧。。。

name server启动流程:

1、设置环境变量:当前版本

2、初始化netty配置的socket的发送和接收的缓存大小

3、命令行参数的解析

4、NamesrvConfig、NettyServerConfig实例化,设置NettyServerConfig的默认监听端口9876

5、属性配置参数加载到上面两个配置(如果有-c参数指定了属性配置文件)

6、ROCKETMQ_HOME环境变量获得(所以这个必须配置,没有便退出了)

7、日志上下文设置(${ROCKETMQ_HOME}/conf/logback_namesrv.xml)

8、NamesrvController实例化(需要NamesrvConfig、NettyServerConfig两个配置)

NamesrvController初始化开始:

(1)kvConfig.json的加载(只在启动的时候加载这个,没有就不加载了。路径在宿主目录下namesrv文件夹下)

(2)NettyRemotingServer实例化(这里会作下当前系统的判断,是否为Linux,至于这里判断是否为linux或windows的操作也很简单,就是System.getProperty("os.name"),检查是否包含"linux"或"windows")。作这些处理也不是为什么特别的操作,就是线程名字的相关处理,因为这里初始化了不少操作,也初始化相关的一些线程池)

(3)注册请求处理器

(4)定时扫描不活动的broker(每10秒扫描一次)

(5)定时打印kv配置(每10分钟)

9、注册关闭钩子

10、NamesrvController开启(远程服务器相关配置初始化,里面有个自旋线程,一旦有响应,就进行回调)

RocketMQ的name server启动源码总结相关推荐

  1. Eureka Server启动源码分析

    本文来分析下Eureka Server启动源码 文章目录 概述 源码解析 服务同步 服务剔除 start包配置 启动源码分析 EurekaServerAutoConfiguration EurekaS ...

  2. 【Android 启动过程】Activity 启动源码分析 ( ActivityThread 流程分析 二 )

    文章目录 前言 一.ActivityManagerService.attachApplicationLocked 二.ActivityStackSupervisor.attachApplication ...

  3. 【Android 启动过程】Activity 启动源码分析 ( ActivityThread -> Activity、主线程阶段 一 )

    文章目录 前言 一.ClientTransactionHandler.scheduleTransaction 二.ActivityThread.H 处理 EXECUTE_TRANSACTION 消息 ...

  4. 【Android 启动过程】Activity 启动源码分析 ( AMS -> ActivityThread、AMS 线程阶段 二 )

    文章目录 前言 一.热启动与冷启动选择 二.AMS 进程中执行的相关操作 三.通过 Binder 机制转到 ActivityThread 中执行的操作 总结 前言 上一篇博客 [Android 启动过 ...

  5. 【Android 启动过程】Activity 启动源码分析 ( AMS -> ActivityThread、AMS 线程阶段 )

    文章目录 一.Activity 启动源码分析 ( AMS | ActivityManagerService ) 1.Instrumentation 调用 AMS 方法 2.ActivityStarte ...

  6. XXL-Job启动源码详解

    目录 1.xxl目录结构 1.1 xxl-job-admin 1.2 xxl-job-core 1.3 xxl-job-executor-samples 2.架构设计 2.1  整体架构设计 2.2 ...

  7. Myth源码解析系列之五- 服务启动源码解析

    通过前面几篇文章,我们搭建了环境,也进行了分布式事务服务的体验,相信大家对myth也有了一个大体直观的了解,接下来我们将正式步入源码解析之旅~~ order服务启动源码解析(myth-demo-spr ...

  8. Android 9 (P) Zygote进程启动源码分析指南二

         Android 9 Zygote进程启动源码分析指南二 Android 9 (P) 系统启动及进程创建源码分析目录: Android 9 (P)之init进程启动源码分析指南之一 Andro ...

  9. spring-boot启动源码学习-1

    2019独角兽企业重金招聘Python工程师标准>>> spring-boot启动源码分析-启动初始化 主要对spring-boot的启动流程中的启动初始化进行学习,学习spring ...

最新文章

  1. MongoDB —— 概念简述
  2. 紧随Java 16,Spring Framework 5.3.5 发布:涵盖JDK 16的支持!
  3. Data Mining Tools
  4. Git 基础 —— 安装 配置 别名 对象
  5. springboot集成shiro无法加载样式status302
  6. (Eclipse打包问题)Export aborted because fatal lint er
  7. 【Python】字典dict类型转换为列表list类型
  8. html加密文档如何打开,Word文档加密打不开怎么办?
  9. 又翻车?苹果被揪出夸大iPhone续航时间:iPhone XR虚标51%
  10. c语言 syn扫描,syn flooder*** (C语言)
  11. resultmap的写法_Mybatis的ResultMap的使用
  12. javascript详解函数原型对象prototype与constructor
  13. sv_labs学习笔记——sv_lab4(System Verilog)
  14. Zookeeper使用案例
  15. 软件测试——测试分类及测试工具的简介
  16. 计算机蓝屏重启,电脑蓝屏怎么解决?电脑蓝屏自动重启解决方法
  17. [STM8L15x]输入捕获获取PWM占空比
  18. python指数函数的计算,Python exp() 指数函数
  19. 获取sender名称
  20. Gif录制工具Gyazo 官方版

热门文章

  1. Html文本学习内容-2
  2. Web下文件上传下载的路径问题
  3. oracle 定义atp规则,ATP新积分规则详解
  4. 微信支付宝用二维码支付服务谁能征服世界
  5. 专利地图制作及解析研究
  6. 即将发布个人网站大家呱唧呱唧
  7. openldap自主密码修改平台实现
  8. shell脚本遍历目录下的所有文件并进行操作
  9. cadence SPB17.4 - allegro - 做logo封装
  10. IBM Thinkpad 笔记本型号和保修(包括水货)全揭秘