其他分享
首页 > 其他分享> > 《The Chubby lock service for loosely-coupled distributed systems》论文阅读

《The Chubby lock service for loosely-coupled distributed systems》论文阅读

作者:互联网

参考链接如下
https://catkang.github.io/2017/09/29/chubby.html
https://zhuanlan.zhihu.com/p/64554506

设计目的

  1. 提供粗粒度的分布式锁,比如leader选举、服务发现。
  2. 提供小数据的可靠存储
  3. 重点关注可靠性、一致性、扩展性而不是性能,一致性依靠paxos解决。
  4. 提供简单的语义

Paxos库 VS 分布式锁服务

细粒度锁 VS 粗粒度锁

系统结构

在这里插入图片描述

文件、目录和handles

强制锁 VS 建议锁

事件

缓存

会话

Fail-overs

在这里插入图片描述

扩展性

代理

分区

fail-over时的问题

一致性协议

在这里插入图片描述

Chubby采用的是一个有强主的Multi-Paxos,其概要实现如下:

接口

Chubby的对外接口是外部使用者直接面对的使用Chubby的方式,是连接分布式锁的实现及使用之间的桥梁:

锁实现

完美实现:

简易实现:

对比两种实现方式,简易版本可以使用在无法检查Sequencer的场景从而更一般化,但也因为lock-delay的设置牺牲了一定的可用性,同时需要用户在业务层面保证lock-delay之后不会再有依赖锁保护的操作。

Cache

Session and KeepAlive

在这里插入图片描述

故障恢复

在这里插入图片描述

分布式锁的使用

启发

责任分散

考虑可扩展时,减少通信次数有时候比优化单次请求处理速度更有效

限制资源的的线性增长

故障恢复时的数据恢复

标签:service,coupled,loosely,Master,client,master,租约,Chubby,KeepAlive
来源: https://www.cnblogs.com/jamgun/p/16488146.html