Leases租约机制完全理解手册
by:bigfish 2015-04-08
博客地址:http://blog.csdn.net/hfty290
摘要
租约机制可以用于在分布式系统中解决缓存一致性问题。保证在非拜占庭失效情况下的严格一致性。租约机制很容易理解,并且在现实系统中也得到比较广泛的应用,例如Google File System与Chubby都采用了租约机制。本篇文章从程序员角度,观察租约机制的使用。
一、租约机制
租约就是服务器授权客户端在一定时间内对某一部分数据控制修改的权利。注意此处仅仅是控制修改,而不是真正修改,对数据的修改还是在服务端。当服务器需要修改这部分数据时,需要先获得授权客户端的同意。租约可以在客户端从服务器读取数据时一起返回,然后客户端就可以在租约规定的时间内安全使用该缓存而不用担心数据的不一致,因为这个过程中任何的修改服务器都会先通知该客户端。
租约机制下的缓存读取流程:
1)用户通过客户端(缓存服务器)查询userid=100的用户信息。
2)缓存服务器向主服务器请求userid=100的用户数据。
3)主服务器响应请求,返回数据并附带提供一个10秒的租约。
4)缓存服务器将数据返回给用户,并且记录该租约。
5)当在10秒内,用户再次请求userid=100的数据时,该缓存服务器就可以使用本地的数据直接返回给用户。在10秒之外则需要在此向主服务器查询。
完整内容请看百度网盘:http://pan.baidu.com/s/1i33Uda1