一级缓存(注册表)ConcurrentHashMap
二级缓存(ReadWriteMap)guava#LoadingCache
三级缓存(ReadOnlyMap)ConcurrentHashMap
注册一个服务实例
向注册表中写入服务实例信息,并使得二级缓存失效
寻找一个服务
从三级缓存中找,如果有则返回,如果没有则去二级缓存拿并更新,如果二级缓存已经失效,触发guava的回调函数从注册表中同步。
数据同步定时器
每 30s 从二级缓存向三级缓存同步数据
二级缓存有效
从二级缓存向三级缓存同步数据
二级缓存失效
触发二级缓存的同步(从注册表中拉取数据)