Chubby lock service在分布式系统中的应用

Chubby lock service在分布式系统中提供粗粒度的锁服务, 以及可靠的存储. 相比高性能, 设计的重点在于高可靠性和高可用性.

1. 介绍

Chubby lock service应用在高速网络互联的机群组成的低耦合分布式系统.

一个Chubby instance(也叫Chubby cell)可能服务上万台1Gbit/s网络互联的4核处理器的机器. 虽然可以运行至少一个副本相隔数千公里的Chubby cell, 但大多数Chubby cell受限于单个数据中心或机房.

lock service的目是允许客户端同步自己的活动(议案), 并对它们所处环境的基本信息取得一致. 最主要的目是在适度大规模的机群的可靠性、可用性, 以及易于理解的语义, 相对的吞吐量以及存储容量相对没那么重要. Chubby客户端接口很类似一个简单的文件系统提供读-写, 不过增强了例如文件修改的锁咨询和事件通知.

Chubby可以帮助开发者粗粒度的处理分布式系统的同步, 尤其是在从一组等效的服务器之间选举出来leader的问题.

  • Google的GFS使用Chubby lock委任GFS master server.
  • Bigtable也同样使用Chubby: 选举master, 允许master检测其他受控的服务器, 允许客户端检测master.
  • GFS和Bigtable使用Chubby存储小量的meta数据, 事实上在用Chubby做为分布式系统的root data structures, 一些服务使用lock来在服务器之间分区工作.

在分布式环境中leader选举是一个分布式一致性问题, 需要一个异步通信方法, 在真实的网络环境中, 网络包可能丢失、延迟、或者被排序重改, Paxos协议解决了这个异步一致性问题. Paxos在没有时钟假设的前提下保证了安全性, 但是必须引入时钟来确保存活性(liveness).

http://static.googleusercontent.com/media/research.google.com/zh-CN//archive/chubby-osdi06.pdf

Chubby lock service for distributed system的更多相关文章

  1. 分布式系统(Distributed System)资料

    这个资料关于分布式系统资料,作者写的太好了.拿过来以备用 网址:https://github.com/ty4z2008/Qix/blob/master/ds.md 希望转载的朋友,你可以不用联系我.但 ...

  2. 分布式学习材料Distributed System Prerequisite List

    接下的内容按几个大类来列:1. 文件系统a. GFS – The Google File Systemb. HDFS1) The Hadoop Distributed File System2) Th ...

  3. [Big Data - ZooKeeper] ZooKeeper: A Distributed Coordination Service for Distributed Applications

    ZooKeeper ZooKeeper: A Distributed Coordination Service for Distributed Applications Design Goals Da ...

  4. 译《Time, Clocks, and the Ordering of Events in a Distributed System》

    Motivation <Time, Clocks, and the Ordering of Events in a Distributed System>大概是在分布式领域被引用的最多的一 ...

  5. Aysnc-callback with future in distributed system

    Aysnc-callback with future in distributed system

  6. Note: Time clocks and the ordering of events in a distributed system

    http://research.microsoft.com/en-us/um/people/lamport/pubs/time-clocks.pdf 分布式系统的时钟同步是一个非常困难的问题,this ...

  7. Notes on Distributed System -- Distributed Hash Table Based On Chord

    task: 基于Chord实现一个Hash Table 我负责写Node,队友写SuperNode和Client.总体参考paper[Stoica et al., 2001]上的伪代码 FindSuc ...

  8. COS418, Distributed System, Go Language

    本博客是MIT的分布式系统课程的课后作业Cos418的GO语言实现思路.由于时间有限,目前只实现了assignment1~2. 在common.go中设置debugEnabled = true,go ...

  9. 「2014-2-23」Note on Preliminary Introduction to Distributed System

    今天读了几篇分布式相关的内容,记录一下.非经典论文,非系统化阅读,非严谨思考和总结.主要的着眼点在于分布式存储:好处是,跨越单台物理机器的计算和存储能力的限制,防止单点故障(single point ...

随机推荐

  1. 树莓派putty远程登录windows

    刚买树莓派的你,还在为要不要购买昂贵的屏幕而纠结吗?看完本博客学会远程登录,妈妈再也不用担心我的学习... 首先我们要知道树莓派的官方推荐系统是raspbian 很建议安装16年9月份的,其他的总是这 ...

  2. git部署详解

    1.1 关于版本控制 1.1.1 本地版本控制 本地版本控制系统 许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别.这么做唯一的 好处就是简单,但是特别容易犯错.有 ...

  3. 【CodeForces】9B-Running Student

    目录 Question Description Input Output Solution 解法1 Question Description 小明在公交车始发站上车,他应该在哪个站点下车才能最快到达学 ...

  4. BFS搜索

    参考博客:[算法入门]广度/宽度优先搜索(BFS) 适用问题:一个解/最优解 重点:我们怎么运用队列?怎么记录路径? 假设我们要找寻一条从V0到V6的最短路径.(明显看出这条最短路径就是V0-> ...

  5. Daily Scrum02 12.03

    Daily Scrum03 12.03 一天过去了,新的一天即将到来,我们组仍旧干劲十足呢~ Member Today's Task Tomorrow's Task 李孟 孟神有点累了呢 task85 ...

  6. 《学习OpenCV》课后习题解答7

    题目:(P105) 创建一个结构,结构中包含一个整数,一个CvPoint和一个 CvRect:称结构体为"my_struct". a. 写两个函数:void Write_my_st ...

  7. js定时器实现图片轮播

    效果展示如下: setInterval(moverleft,3000);定时器设置为3秒,而且实现图片下方的小圆点序号跟图片对应,点击小圆点也能切换图片. 代码如下: <!DOCTYPE htm ...

  8. Linux挂载Win共享文件夹_VmwareTools

  9. Python数据分析(三)pandas resample 重采样

    下方是pandas中resample方法的定义,帮助文档http://pandas.pydata.org/pandas-docs/stable/timeseries.html#resampling中有 ...

  10. Java —— Reflect反射机制

    JAVA反射机制是在运行时,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java的反射机制. ...