skywalking-service 主流程 -9.2
2024-03-30 17:19:51 3 举报
skywalking-service 主流程 -9.2
作者其他创作
大纲/内容
BootstrapFlow#makeSequence把所有模块按照依赖排序
.AbstractConfigurationProvider#notifyAfterCompleted其他模块都加载完成后
ModuleProvider#start启动所有模块
各种服务加载过程
ApplicationConfigLoader#loadConfig从 application.yml 中加载配置
ConfigurationModule动态配置加载
ApplicationConfigLoader#overrideConfigBySystemEnv使用环境变量替换配置
NacosConfigurationProvider#initConfigReader
ApplicationConfigLoader#selectConfig选出实际的配置
.ModuleProvider#prepare初始化一些与其他模块无关的东西
ModuleProvider#requiredCheck校验依赖模块
core核心模块
ConfigWatcherRegister#registerConfigChangeWatcher注册监听器,在需要动态配置是添加监听
SourceReceiverImpl#scan扫描所有 SourceDispatcher
BootstrapFlow启动所有模块
GRPCServer#starthttpServer#startRemoteClientManager#start启动服务
nacos 为例
GRPCServer#initialize创建并初始化 GRPC
DynamicConfigurationService监听配置中心的配置变化
prepare
DispatcherManager#addIfAsSourceDispatcher
OAPServerStartUp#mainjar 入口
.BootstrapFlow#notifyAfterCompleted所有模块启动后通知所有模块
RunningMode.isInitMode()如果是 init 模式,则退出系统
CoreModuleProvider#start
使用的是 armeria
核心方法为ModuleProvider#prepareModuleProvider#startModuleProvider#notifyAfterCompleted所有功能都通过该方式实现
CoreModuleProvider#prepare
ConfigWatcherRegister#configSync注册监听器,执行同步配置
ModuleManager#init各种初始化
ModuleProvider#registerServiceImplementation注册了一大堆服务
notifyAfterCompleted
mode从环境变量中获取启动类型,当为 init 是会初始化数据库
DispatcherManager#forward在接收到数据是会调用,不同的SourceDispatcher 会处理相应数据
ClusterCoordinator监听集群集群变化
ModuleDefine#prepare解析配置文件
NacosConfigWatcherRegister#NacosConfigWatcherRegister开启 nacosConfigService
ApplicationConfigLoader#load加载配置文件
从 spi 中加载ModuleDefine ModuleProvider
OAPServerBootstrap#start
HTTPServer#initialize
ModuleDefine#copyProperties把配置文件属性赋值到 ModuleConfig 对象中
0 条评论
下一页