RocketMQ的name server启动源码总结
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启动源码总结相关推荐
- Eureka Server启动源码分析
本文来分析下Eureka Server启动源码 文章目录 概述 源码解析 服务同步 服务剔除 start包配置 启动源码分析 EurekaServerAutoConfiguration EurekaS ...
- 【Android 启动过程】Activity 启动源码分析 ( ActivityThread 流程分析 二 )
文章目录 前言 一.ActivityManagerService.attachApplicationLocked 二.ActivityStackSupervisor.attachApplication ...
- 【Android 启动过程】Activity 启动源码分析 ( ActivityThread -> Activity、主线程阶段 一 )
文章目录 前言 一.ClientTransactionHandler.scheduleTransaction 二.ActivityThread.H 处理 EXECUTE_TRANSACTION 消息 ...
- 【Android 启动过程】Activity 启动源码分析 ( AMS -> ActivityThread、AMS 线程阶段 二 )
文章目录 前言 一.热启动与冷启动选择 二.AMS 进程中执行的相关操作 三.通过 Binder 机制转到 ActivityThread 中执行的操作 总结 前言 上一篇博客 [Android 启动过 ...
- 【Android 启动过程】Activity 启动源码分析 ( AMS -> ActivityThread、AMS 线程阶段 )
文章目录 一.Activity 启动源码分析 ( AMS | ActivityManagerService ) 1.Instrumentation 调用 AMS 方法 2.ActivityStarte ...
- 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 ...
- Myth源码解析系列之五- 服务启动源码解析
通过前面几篇文章,我们搭建了环境,也进行了分布式事务服务的体验,相信大家对myth也有了一个大体直观的了解,接下来我们将正式步入源码解析之旅~~ order服务启动源码解析(myth-demo-spr ...
- Android 9 (P) Zygote进程启动源码分析指南二
Android 9 Zygote进程启动源码分析指南二 Android 9 (P) 系统启动及进程创建源码分析目录: Android 9 (P)之init进程启动源码分析指南之一 Andro ...
- spring-boot启动源码学习-1
2019独角兽企业重金招聘Python工程师标准>>> spring-boot启动源码分析-启动初始化 主要对spring-boot的启动流程中的启动初始化进行学习,学习spring ...
最新文章
- MongoDB —— 概念简述
- 紧随Java 16,Spring Framework 5.3.5 发布:涵盖JDK 16的支持!
- Data Mining Tools
- Git 基础 —— 安装 配置 别名 对象
- springboot集成shiro无法加载样式status302
- (Eclipse打包问题)Export aborted because fatal lint er
- 【Python】字典dict类型转换为列表list类型
- html加密文档如何打开,Word文档加密打不开怎么办?
- 又翻车?苹果被揪出夸大iPhone续航时间:iPhone XR虚标51%
- c语言 syn扫描,syn flooder*** (C语言)
- resultmap的写法_Mybatis的ResultMap的使用
- javascript详解函数原型对象prototype与constructor
- sv_labs学习笔记——sv_lab4(System Verilog)
- Zookeeper使用案例
- 软件测试——测试分类及测试工具的简介
- 计算机蓝屏重启,电脑蓝屏怎么解决?电脑蓝屏自动重启解决方法
- [STM8L15x]输入捕获获取PWM占空比
- python指数函数的计算,Python exp() 指数函数
- 获取sender名称
- Gif录制工具Gyazo 官方版