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. Python 3 学习笔记之——数据类型

    1. 数字 类型 int, float, bool, complex type() 查看变量类型 isinstance(a, int) 查看变量类型 运算符 % 取余 // 返回商的整数部分 ** 幂 ...

  2. swarm 服务器安装

    apt install docker.io-----------------------配置加速器.私有仓库地址---------------------mkdir -p /etc/dockertee ...

  3. HDU 4467 Graph(图论+暴力)(2012 Asia Chengdu Regional Contest)

    Description P. T. Tigris is a student currently studying graph theory. One day, when he was studying ...

  4. SDUST OJ Problem G 动态的字符串排序

    Description 把字符串按照ASCII码序的从小到大排列出来. 串的ASCII码序遵循如下递归定义: 1 两串的前n-1个字符相同,第n个字符ASCII码序小的排在前面:2 只有两串的字符完全 ...

  5. 搭建Lepus数据库监控系统

    一.  安装环境 系统环境:centos6.5 IP:192.168.30.242 hostname:vpn.org 软件:LAMP均已安装.(请确保这些正常安装,并能使用). 系统核心包:(摘自官方 ...

  6. 【bzoj4236】JOIOJI STL-map

    题目描述 JOIOJI桑是JOI君的叔叔.“JOIOJI”这个名字是由“J.O.I”三个字母各两个构成的. 最近,JOIOJI桑有了一个孩子.JOIOJI桑想让自己孩子的名字和自己一样由“J.O.I” ...

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

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

  8. JSON教程(1)

    JSON:JavaScript对象表示发即JavaScript Object Notation. JSON是存储和交换文本信息的语法.类似XML. JSON比XML更小,更快,更易解析. { &quo ...

  9. 关于逻辑运算符&&和||及!

    && 表示and ,|| 表示or,!表示not. And(&&):对两个Boolean表达式执行逻辑和. AndAlso(&):与AndAlso类似,关键差异 ...

  10. BZOJ4597 SHOI2016随机序列(线段树)

    先考虑题目所说的太简单了的问题.注意到只要把加减号相取反,就可以得到一对除了第一项都互相抵消的式子.于是得到答案即为Σf(i)g(i),其中f(i)为前缀积,g(i)为第i个数前面所有符号均填乘号,第 ...