Eureka三级缓存

2021-07-13  本文已影响0人  lenny611

缓存机制

Eureka Server存在三个变量:(registry、readWriteCacheMap、readOnlyCacheMap)保存服务注册信息,默认情况下定时任务每30s将readWriteCacheMap同步至readOnlyCacheMap,每60s清理超过90s未续约的节点,Eureka Client每30s从readOnlyCacheMap更新服务注册信息,而UI则从registry更新服务注册信息。


image.png

三级缓存读取顺序:
默认读取只读map,如果只读map没有,则读取读写map,如果读写map也没有,就读取registry本地注册表缓存。

数据同步

通过eureka.server.response-cache-update-interval-ms参数来设置,如果不设置,默认是30秒(每 30s 从二级缓存向三级缓存同步数据),如下图:

image.png

结论:在接受客户端注册的时候,服务端会将读写缓存的key清掉,30s后只读缓存从读写缓存拉取数据的时候,该服务列表获取到的是最新的数据。如果客户端下线,同样地,读写缓存也会被清除掉。所以极端情况,最长30s后,客户端才能获取到最新的服务列表。
参考连接:
https://www.cnblogs.com/shihaiming/p/11590748.html

上一篇 下一篇

猜你喜欢

热点阅读