之前整理的eureka源码的笔记可以看一下
原生40s之后注册,springcloud优化为毫秒级
30s
30s 第一次全量拉取之后增量拉取比对hash值不一致全量拉取
Map
第一个map服务名称比如order-service value:服务对应的实例信息
第二个map服务实例的id value:服务实例的信息
readOnlyCacheMap:只读缓存
readWriteCacheMap:读写缓存
每30s同步一次读写缓存,读写缓存覆盖只读缓存
读写缓存180s后过期
服务实例注册和下线清空读写缓存
60s触发一次
心跳时间:lastUpdateTimestamp+90
心跳时间+90+gc补偿时间 < 当前时间:则当前服务下线
服务剔除:从过期服务实例中选择0.85*本地总服务实例数(洗牌算法)