EurekaClient启动流程
2019-12-23 10:11:51 0 举报
Eureka Client启动流程
作者其他创作
大纲/内容
EurekaClientAutoConfiguration
scheduler.schedule(没有用timer)
EurekaInstanceConfig(初始化eureka实例的相关配置)
EurekaClient(原生的eurekaClient类)
增量更新
fetchRegistry()
clientConfig.shouldFetchRegistry()
Marker
存入本地缓存
初始化
激活
scheduler.schedule(new TimedSupervisorTask(\"cacheRefresh\
eurekaTransport.queryClient.getDelta((String[])this.remoteRegionsRef.get())
CacheRefreshThread
fetchRegistryGeneration.compareAndSet()
getAndStoreFullRegistry()
initScheduledTasks
调用
DiscoveryClient
refreshRegistry()
EurekaDiscoveryClientConfiguration
从服务端拉取注册表
属性的注入
cacheRefresh定时器启动
spring-cloud-netflix-client的spring.factories中对应的EurekaClientAutoConfiguration
EurekaClient
@AutoConfigureAfter
eurekaTransport.queryClient.getApplications((String[])this.remoteRegionsRef.get())
优先加载完该注解中配置的类,再加载当前类
当前scheduler执行完之后,再重新调用scheduler的方式,保证是每30秒执行一次,当超时之后,在TimeOutException里面设置下次为当前时间的一倍,以此类推,最多为3分钟,下一次未超时的情况下,再次设置为30s
getAndUpdateDelta()
全量更新
收藏
收藏
0 条评论
下一页