Eureka Server启动流程图
2020-04-01 09:55:48 0 举报
Eureka Server调用流程
作者其他创作
大纲/内容
@SpringBootApplication
服务剔除InstanceRegistry.openForTraffic
服务同步registry.syncUp()
初始化原生启动类eurekaServerBootstrap
初始化eurekaServer
@Import
2.初始化eureka server上下文
EurekaServerInitializerConfiguration
激活
EurekaServerInitializerConfiguration.start()
spring-boot-autoconfigure-xxx.jar下面读取META-INF/spring.factories
2.1 修改eureka状态为up2.2开启定时任务,清理60秒没有续约的实例
基于上述信息初始化集群上下文eurekaServerContext
实现了SmartLifecycle接口的类,会根据isAutoStartup()的返回值决定是否调用start()
初始化集群注册表peerAwareInstanceRegistry
调用相邻节点http接口获取所有服务实例
@Bean
启动类添加
初始化Marker
spring-cloud-netflix-eureka-server.jar里面的EnableAutoConfiguration对应于EurekaServerAutoConfiguration
导入EnableAutoConfiguration对应的所有类
组合注解
初始化jersey过滤器jerseyFilterRegistration
start中的方法eurekaServerBootstrap.contextInitialized
initEurekaEnvironment()
initEurekaServerContext()
初始化集群节点peerEurekaNodes
@EnableEurekaServer
EurekaServerAutoConfiguration
AutoConfigurationImportSelector
开启定时任务剔除实例
1.初始化eureka server运行时环境
初始化eureka server相关配置eurekaServerConfig()
把所有实例信息注册到本地
初始化eureka server的dashboard接口eurekaController()
getAutoConfigurationEntry
getCandidateConfigurations
查找需要导入的类
eurekaClient.getApplications()
@EnableAutoConfiguration
EurekaServerMarkerConfiguration
selectImports
1.从相邻节点复制注册表
super.postInit()
收藏
0 条评论
回复 删除
下一页