EurekaServer 源码核心流程
2021-10-10 16:50:45 3 举报
EurekaServer 源码核心流程
作者其他创作
大纲/内容
selectImport 方法
eurekaServerBootStrap
registry.openForTraffic
2、开启定时任务,清理 60s 内没有续约的实例
初始化 EurekaServer 相关配置
初始化 EurekaServer 运行环境
服务同步
registry.syncUp()
开启定时任务,剔除续约超时的服务
@Import
Marker
eurekaServerBootstrap.contextInitialized()
@EnableAutoConfiguation
load
扫描所有 jar 包中的 spring.factories 文件
调用相邻节点的 http 接口获取所有服务实例
EurekaServerAutoConfiguration
这是一个 javaConfig 配置类,有一个内部类Marker,且只配置了一个 Bean,就是这个内部类
@SpringbootApplication
启动一条新线程初始化 EurekaServer
导入 EnableAutoConfiguration 对应的所有类
把所有实例注册到本地
EurekaServerInitializerConfiguration
postInit()
实现了 SmartLifecycle 接口的类会在初始完成后根据 isAutoStartup() 的返回值确认是否调用 start() 方法
扫描到 jar 包spring-cloud-netflix-eureka-server中的 Spring.factories文件,里面只有一个EurekaServerAutoConfiguration 自动配置类
@ConditionalOnBean(EurekaServerMarkerConfiguration.Marker.class) 激活
EurekaServerMarkerConfiguration
eurekaClient.getApplications()
@Bean
initEurekaServerContext
基于 eureka server 配置,注册表,集群节点集合,以及服务实例初始化 eurekaServer 上下文
只为激活 EurekaServerAutoConfiguration 配置类
EurekaServerConfig
AutoConfigurationImportSelector
initEurekaEnvironment
在 eurekaServer 集群模式下,从 eureka 橡林街店复制注册表
EurekaServerMarkerConfiguration 中的内部类
组合注解
初始化 spring cloud 包装的原生启动类
@EnableEurekaServer
EurekaServerContext
初始化 EurekaServer 上下文
1、修改 eureka 状态为 up
0 条评论
下一页