lease机制

使用缓存,通常需要注意的问题是一致性的问题,通常做法是:
1. http中使用head协议保证
2. 每次读取数据client向server发送验证请求i,和1类似
3. server记录那些client读取过数据,如果server对数据进行了修改,进行callback形式告知客户端失效,主要的问题是如果server和client通信失败,更新操作将无法继续。

另外的实现采用现在的lease机制,server在一段时间内给予client控制修改的权限,如果server想要修改数据,首先需要征得client的同意,如果client同意,那么client需要清空自己的缓存。如果lease过期了,client可以续租。

lease机制相对于callback的话,基本上服务器的负载是类似的,但是相对于callback机制, lease机制的话,能保证如果client和server无法通信的时,更新操作能继续进行。

lease机制对于读写操作的支持 :
(1)read机制:通常client想server发送read命令时,server将把lease发送给client,保证在lease的时效期内其他lcient不会向该数据更新,如果lease过期了,client将向server发送请求,如果能续约,则续约,否则将更新缓存的数据
(2)write操作:client向server发送write命令;server等待所有请求的lease失效,或者是想lease holder请求i更新操作;全部通过,更新操作才能继续。

lease带来的问题:
1. 分布式系统中的时间同步问题,通常添加时间窗口解决

ftp://reports.stanford.edu/pub/cstr/reports/cs/tr/90/1298/CS-TR-90-1298.pdf 

posted @   qiang.xu  阅读(1817)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示