Eureka Server源码分析
2021-07-02 15:13:06 3 举报
此图是我对Eureka server源码的理解,供大家学习交流
作者其他创作
大纲/内容
激活
eurekaServerBootstrap.contextInitialized
思考:为什么会调start()?SmartLifecycleLifecycleProcessor
applicationInfoManager.setInstanceStatus(InstanceStatus.UP)
PeerEurekaNodes
Marker
开启一个定时任务,每隔60秒执行清理没有续约的服务实例
FilterRegistrationBean
修改服务实例状态为UP
用于激活Eureka服务器相关配置EurekaServerAutoConfiguration
初始化集群注册表
从相邻的eureka节点复制注册表
服务同步(replicate)
EurekaServerContext
EurekaServerAutoConfiguration
初始化集群节点集合
初始化Eureka运行环境
EurekaServerInitializerConfiguration
初始化eureka相关配置
eurekaClient.getApplications().getRegisteredApplications()
从相邻节点获取到注册的服务实例
服务剔除(evict)
@EnableEurekaServer
@ConditionalOnBean(EurekaServerMarkerConfiguration.Marker.class)
PeerAwareInstanceRegistry
注册到本地
初始化一些接口,用于获取eurekaServer的信息
@Bean
负责添加一个标记bean来激活EurekaServerAutoConfiguration
基于eureka server配置注册表, 集群节点集合以及服务实例初始化eurekaServer上下文
初始化Jersey过滤器
初始化spring cloud包装的eureka原生启动类
postInit()
相关@Bean的配置
EvictionTask#run
调用start() 初始化 Eureka Server
Spring boot 自动配置原理:容器启动过程中会注册spring-cloud-netflix-eureka-server-2.1.3.RELEASE.jar!/META-INF/spring.factories中的EnableAutoConfiguration对应EurekaServerAutoConfiguration
EurekaController
initEurekaEnvironment()
EurekaServerMarkerConfiguration
registry.syncUp()
@Import 配置类
初始化Eureka上下文
EurekaServerBootstrap
EurekaServerConfig
initEurekaServerContext()
0 条评论
下一页