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. 分布式系统中的时间同步问题,通常添加时间窗口解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值