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 ...
最新文章
- photoshop修复面部的皱纹
- cpuz北桥频率和内存频率_内存频率怎样计算,一分钟教会你
- 数据处理的两个基本问题---汇编学习笔记
- 编码风格:Mvc模式下SSM环境,代码分层管理
- TP框架设置的LOG_LEVEL不起作用
- map+shuffle+reducer
- 药品信息管理系统php,医药行业信息化管理系统
- 微信小程序样式-在小程序中创建样式的几种写法
- Normalize.css 支持 HTML5 的CSS Reset
- java基础--枚举的运用
- 大数据工程应用 数据分析_大数据工程的方式
- uniapp实现IM即时通讯仿微信聊天功能
- docker docker安装app
- 国际十大正规现货黄金交易平台排名(2023年优质版)
- 如何在photoshop里画虚线
- php 多个一维数组合拼成二维数组的方法
- linux之database(数据库)一
- 宜明昂科在港交所递表:2021年亏损翻倍,过往融资额存在夸大情形
- java打开密码pdf,在Java中使用密码解密PDF文档
- tcmalloc浅析
热门文章
- 【PADS9.5】PADS Logic 绘制原理图
- UEFI学习2-OVMF的制作和使用
- SAP FICO 如何看一个总账科目的修改记录?
- 【OpenPose-Windows】OpenPose1.4.0+VS2017+CUDA9.2+cuDNN9.2+Windows配置教程
- 2022年先进封装行业研究报告
- 收藏能力升级,支付宝版「小程序桌面」初现!
- 记第一次codeforces比赛经历
- 服务器重装esxi会怎么样,记录我的家庭服务器(2)esxi6.7安装+群晖+rdm直通+踩坑记录...
- rfid中间件软件的应用实例_RFID原理与应用教与学(教学大纲)
- 腾讯云服务器镜像部署 Java Web 环境