eureka三级缓存
2021-08-11 13:55:07 0 举报
eureka三级缓存
作者其他创作
大纲/内容
Y
F
EurekaClient端从EurekaServer端获取注册信息列表并缓存到本地。EurekaClient端启动时发起全量获取,启动后默认30秒发起一次差别获取。 调用com.netflix.eureka.resources.ApplicationsResource#getContainers或getContainerDifferential
定时更新任务getCacheUpdateTask
guava的回调函数从注册表中同步
参数UseReadOnlyResponseCache
payload is null
client端获取注册信息
读取只读缓存readOnlyCacheMap
com.netflix.eureka.registry.ResponseCacheImpl#getCacheUpdateTask从读写缓存同步到只读缓存
T
com.netflix.eureka.resources.ApplicationsResource#getContainerDifferential
总结:1️⃣register本地注册表(一级缓存):是实时变化的。2️⃣readWriteCacheMap(二级缓存):是对一级缓存的缓存。一级缓存发生变化时,过期二级缓存中的该缓存,重写load方法,当二级缓存中不存在时,从一级缓存中同步。3️⃣readOnlyCacheMap只读缓存:只从读写缓存里copy数据,两种情况1.定时任务从读写缓存里同步2.client获取注册信息时,打到读写缓存时,同步,与读写缓存同步
读取读写缓存readWriteCacheMap
put()方法同步
本地注册表
若干调用
com.netflix.eureka.registry.ResponseCacheImpl#getValue
收藏
收藏
0 条评论
下一页
为你推荐
查看更多