分布式系统原理(4)--Lease机制

Lease机制是分布式协议的重要部分,常用于判定节点状态和优化分布式cache。通过中心服务器向节点颁发有限期的lease,确保数据一致性。在异常情况下,如节点宕机或网络中断,Lease机制能提供高容错能力。它不依赖存储,但要求时钟同步。在GFS、Niobe、Chubby和Zookeeper等系统中,Lease有不同的应用和实现方式,用于确定primary副本、保证状态一致性和实现高效操作。
摘要由CSDN通过智能技术生成

Lease机制是最重要的分布式协议,其最重要的应用:判定节点状态

(1)基于lease的分布式cache系统

l  设计原因:分布式系统中各种操作都依赖于元数据,若仅由中心服务器节点存储维护,则该节点的性能会成为系统的瓶颈。

l  设计思路:元数据cache,在各个节点上cache元数据信息,减少对中心服务器节点的访问,提高性能。

l  设计要求:各个节点上cache的数据要始终与中心服务器上的数据阈值,不能是旧的脏数据;cache系统要能最大可能的处理节点宕机、网络中断等异常,最大程度的提高系统的可用性。

l  基本原理:中心服务器在向各节点发送数据的同时向节点颁发一个lease,每个lease有一个有效期。

n  基于lease的cache,客户端节点读取元数据的流程

1. 判断元数据是否已经处于本地cache且lease处于有效期内

       1.1 是:直接返回cache中的元数据

       1.2 否:向中心服务器节点请求读取元数据信息

              1.2.1 服务器收到读取请求后,返回元数据及一个对应的lease

              1.2.2 客户端是否成功收到服务器返回的数据

                     1.2.2.1失败或超时:退出流程,读取失败,可重试

                     1.2.2.2成功:将元数据与对应lease记录到内存中,返回元数据

n  基于lease的cache,客户端节点修改数据流程

1. 节点向服务器发起修改元数据请求

2. 服务器收到修改请求后,阻塞所有新的读请求,即接收读请求,但不返回数据

3. 服务器等待所有与该元数据相关的lease超时

4. 服务器修改元数据并向客户端节点返回修改成功

l  容错关键:客户端cache元数据的唯一标准时lease超时,服务器只要等待lease超时就可以修改数据,而不破坏cache的一致性

l  优化改进:

a)对修改数据中的步骤2,服务器进入修改元数据流程后,一旦收到读请求,则只返回数据但不颁发lease,即用户只能读不能缓存;或lease有效期选已发出lease的最大有效期ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值