Spring Cloud 2.2.2 源码之十三Eureka服务处理获取服务请求二

本文深入解析SpringCloud2.2.2版本中Eureka服务注册与发现的两大核心流程:缓存同步机制及集群节点同步。详细阐述了读缓存与读写缓存的同步过程,注册表与缓存的同步机制,以及集群间节点的同步策略,为读者提供了全面的理解视角。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring Cloud 2.2.2 源码之十三Eureka服务处理获取服务请求二

大致流程图

在这里插入图片描述

读缓存与读写缓存同步

ResponseCacheImpl初始化的时候会开启一个定时任务,更新读缓存,默认每30秒一次:
在这里插入图片描述
可以看到他会遍历所有读缓存,然后和读写缓存做对比,不同的话就把读写缓存的数据覆盖到读缓存中。这样就做了同步,以读写缓存为准。
在这里插入图片描述

读写缓存与注册表同步

注册表里的数据是最中数据啊,那读写缓存又怎么和注册表同步呢,其实就是在前面很多操作中的invalidate失效缓存里,把相关缓存个失效了,于是发现缓存没有了,就会从注册表中获取,也就是同步啦:
在这里插入图片描述
在这里插入图片描述
还有一个地方,是缓存失效的地方,就是在刚创建读写缓存的时候,这里设置了写后多少时间失效,默认是180秒后,同样失效了也是从注册表中获取,也是同步了:
在这里插入图片描述
失效默认事件:
在这里插入图片描述

好了,处理服务获取基本讲完了,增量获取也类似,自己看下吧。主要这里有个读写分离的思想,为了提高效率,如果只有一级读写缓存的话,那么读写是互斥的,效率就低了,所以这里用空间换时间,又加了一层读缓存,为了高可用,高性能,只能追求最终一致性啦。

集群结点同步

最后再补点这个,具体自己可以去看,我就画个图吧,很多操作成功的时候都会去同步结点的:
在这里插入图片描述

好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值