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. URAL 1741 Communication Fiend(最短路径)

    Description Kolya has returned from a summer camp and now he's a real communication fiend. He spends ...

  2. 关于react-redux中Provider、connect的解析

    Provider 是什么 react-redux 提供的一个 React 组件 作用 把 store 提供给其子组件 //使用 redux 的 createStore 方法创建的一个 store co ...

  3. Java中IO——NIO

    一.引入 当引入一些新功能的时候,那说明之前的设计可能还需要完善. 1.阻塞式 在传统的IO输入输出中,如果我们从流中去读数据,而数据源中没有数据时,程序就会阻塞该线程.阻塞式线程的一种基本状态,可以 ...

  4. Log4Net讲解

    声明:本文内容主要译自Nauman Leghari的Using log4net,亦加入了个人的一点心得(节3.1.4). 1           简介 1.1          Log4net的优点: ...

  5. Website Collection

    前一百个卡特兰数 Candy?的博弈论总结 杜教筛资料 线性基资料 (ex)BSGS资料 斐波那契数列前300项 斯特林数 STL标准库-容器-unordered_set C++ unordered_ ...

  6. 一些比较高效的CSS写法建议

    当浏览器解析html的时候,它构造了一个文档树来展现所有被显示的元素. 它在特定的样式表中去匹配元素,根据标准的css的层叠,继承和顺序规则, 在mozilla的实现中(可能其他的也是这样),对于每一 ...

  7. More on understanding sort_buffer_size

    There have been a few posts by Sheeri and Baron today on the MySQL sort_buffer_size variable. I want ...

  8. POJ1733:Parity Game(离散化+带权并查集)

    Parity Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 12853   Accepted: 4957 题目链接 ...

  9. ng的ngModel用来处理表单操作

    https://segmentfault.com/a/1190000009126012

  10. 用静态工厂的方法实例化bean

    //代码如下: package com.timo.domain; public class ClientService { //use static factory method create bea ...