`
isiqi
  • 浏览: 16028778 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

云计算背后的秘密(4)-Chubby

阅读更多

简单的来说,Chubby属于分布式锁服务,通过Chubby,一个分布式系统中的上千个client都能够对某项资源进行“加锁”或者“解锁”,常用于BigTable和MapReduce等系统内部的协作工作,在实现方面是通过对文件的创建操作来实现“加锁”,并在其内部采用了著名科学家Leslie Lamport的Paxos算法。

技术概览

在实现机制方面,Chubby本身是一个分布式的文件系统,并提供一些机制使得Client可以在Chubby服务上创建文件和执行一些文件的基本操作。那么,Chubby是怎样实现这样的“锁”功能的?就是通过文件。Chubby中的“锁”就是文件,创建文件其实就是进行“加锁”操作,创建文件成功的那个服务器其实就是抢占到了“锁”。用户通过打开、关闭和读取文件,获取共享锁或者独占锁,并且通过通信机制,向用户发送更新信息。

chubby arch

图1. Chubby的架构

在架构上,Chubby集群一般有5台机器组成,每台机器都有一个Replica(副本),其中有一个Replica会被选为Master节点,Replica在结构和能力上相互对等,Replica使用Paxos协议来保持日志的一致性,Replica都有可能离线,然后重新上线。重新上线后,需要保持与其它节点数据的一致。Client端使用Chubby的客户端库来访问。

主要优点

为什么不是直接实现一个类似于Paxos算法这样的协议来解决一致性问题,而是要通过一个锁服务来解决?这样主要有下面这五个好处:

    1. 大部分开发人员在刚开始开发服务的时候都不会考虑到这种一致性的问题,所以一开始都不会使用一致性协议。只有当服务慢慢成熟以后,才开始认真对待这个问题。采用锁服务可以使得在保持原有的程序架构和通信机制的情况下,通过添加简单的语句就可以解决一致性问题;
    2. 在很多情况下,并不仅仅是选举出一个Master怎么简单,还需要将这个Master的地址告诉其它人或者保存某个信息,这种时候,使用 Chubby中的文件,不仅仅是提供锁功能,还能在文件中记录下有用的信息(比如Master的地址)。所以,很多的开发人员通过使用Chubby来保存元数据和配置。
    3. 一个基于锁的开发接口更容易被开发人员所熟悉。并不是所有的开发人员都了解一致性协议的,但大部分人应该都用过锁。
    4. 一个一致性协议一般来说需要使用到好几台副本来保证高可用性,在这方面,Paxos算法是最明显的例子,而使用Chubby,就算只有一个client也能用。
    5. 可以看出,之所以用锁服务这样的形式,是因为Chubby不仅仅想解决一致性问题,还可以提供更多更有用的功能。事实上,Google有很多开发人员将Chubby当做Name Service(命名服务)来使用,而且效果非常好。

相关产品

和之前介绍的GFS、MapReduce和BigTable一样,在Hadoop系列中也有一款类Chubby的实现,名为ZooKeeper。在实现方面,ZooKeeper是基于一套自主设计并优化的Two-Phase Commit的协议,并已经成功应用在HBase, Yahoo! Message Broker, Fetch Service of Yahoo! crawler等系统上。

参考资料

    1. Paxos在大型系统中常见的应用场景. http://timyang.net/tag/zookeeper/
    2. Google利器之Chubby. http://blog.csdn.net/historyasamirror/archive/2009/02/09/3870168.aspx
分享到:
评论

相关推荐

    北航云计算公开课06 Google Chubby

    北航云计算公开课06 Google Chubby

    Google云计算原理-分布式锁服务Chubby

    本书《Google云计算原理-分布式锁服务Chubby》将向你详细讲述谷歌的分布式锁服务Chubby。

    The-Chubby-lock-service-for-loosely-coupled-distributed-systems-zh_cn:Google论文《The Chubby lock service for loosely coupled distributed systems》的中文翻译

    The-Chubby-lock-service-for-loosely-coupled-distributed-systems-zh_cnGoogle论文《The Chubby lock service for loosely coupled distributed systems》的中文翻译状态翻译中一起翻译欢迎有精力的同学参加翻译,...

    [PPT]《云计算》教材配套课件1-云计算技术概述

    本书是中国云计算专家委员会刘鹏教授主编的系统讲解云计算技术的专业书籍,重点阐述了云计算领域具代表性的Google、亚马逊和微软三个三家公司的云计算平台的技术原理和应用方法,并介绍了以Hadoop为代表的开源云计算...

    [PPT]《云计算》教材配套课件12-云计算仿真器CloudSim

    本书是中国云计算专家委员会刘鹏教授主编的系统讲解云计算技术的专业书籍,重点阐述了云计算领域具代表性的Google、亚马逊和微软三个三家公司的云计算平台的技术原理和应用方法,并介绍了以Hadoop为代表的开源云计算...

    [PPT]《云计算》教材配套课件13-云计算理论研究热点

    本书是中国云计算专家委员会刘鹏教授主编的系统讲解云计算技术的专业书籍,重点阐述了云计算领域具代表性的Google、亚马逊和微软三个三家公司的云计算平台的技术原理和应用方法,并介绍了以Hadoop为代表的开源云计算...

    [PPT]《云计算》教材配套课件6-亚马逊的云计算平台AWS

    本书是中国云计算专家委员会刘鹏教授主编的系统讲解云计算技术的专业书籍,重点阐述了云计算领域具代表性的Google、亚马逊和微软三个三家公司的云计算平台的技术原理和应用方法,并介绍了以Hadoop为代表的开源云计算...

    [PPT]《云计算》教材配套课件7-微软的云计算平台AZURE

    本书是中国云计算专家委员会刘鹏教授主编的系统讲解云计算技术的专业书籍,重点阐述了云计算领域具代表性的Google、亚马逊和微软三个三家公司的云计算平台的技术原理和应用方法,并介绍了以Hadoop为代表的开源云计算...

    [PPT]《云计算》教材配套课件14-总结与展望

    本书是中国云计算专家委员会刘鹏教授主编的系统讲解云计算技术的专业书籍,重点阐述了云计算领域具代表性的Google、亚马逊和微软三个三家公司的云计算平台的技术原理和应用方法,并介绍了以Hadoop为代表的开源云计算...

    [PPT]《云计算》教材配套课件10-分布式锁服务ZooKeeper

    本书是中国云计算专家委员会刘鹏教授主编的系统讲解云计算技术的专业书籍,重点阐述了云计算领域具代表性的Google、亚马逊和微软三个三家公司的云计算平台的技术原理和应用方法,并介绍了以Hadoop为代表的开源云计算...

    [PPT]《云计算》教材配套课件9-HBase的原理与实验

    本书是中国云计算专家委员会刘鹏教授主编的系统讲解云计算技术的专业书籍,重点阐述了云计算领域具代表性的Google、亚马逊和微软三个三家公司的云计算平台的技术原理和应用方法,并介绍了以Hadoop为代表的开源云计算...

    云计算第二版

    第4章 微软云计算Windows Azure 135 4.1 微软云计算平台 135 4.2 微软云操作系统Windows Azure 136 4.2.1 Windows Azure概述 136 4.2.2 Windows Azure计算服务 137 4.2.3 Windows Azure存储服务 138 4.2.4 Windows ...

    云计算讲义PPT 1

    重点阐述了云计算领域具代表性的Google、亚马逊和微软三个三家公司的云计算平台的技术原理和应用方法,并介绍了以Hadoop为代表的开源云计算技术和云计算仿真器CloudSim,分析了云计算领域的理论研究热点问题,给出了...

    云计算 第二版

    本书是中国电子学会云计算专家委员会刘鹏教授主编的系统讲授云计算技术的专业图书,重点阐述了云计算领域具有代表性的Google、Amazon、微软和VMware四家公司的云计算技术原理和应用方法,并详细分析了以Hadoop、...

    云计算系列完整教程 第三部分

    本书是中国云计算专家委员会刘鹏教授主编的系统讲解云计算技术的专业书籍,重点阐述了云计算领域具代表性的Google、亚马逊和微软三个三家公司的云计算平台的技术原理和应用方法,并介绍了以Hadoop为代表的开源云计算...

    云计算(第二版全)

    《云计算(第二版)》主要内容包括:Google的GFS、MapReduce、Bigtable、Chubby、Megastore、Dapper和App Engine等;Amazon的Dynamo、EC2、S3、SQS、SimpleDB和CloudFront等;微软的Windows Azure、SQL Azure、App ...

    chubby-paxosMadeLive.pdf

    chubby paxosMadeLive.pdf,记录了chubby在实现paxos的过程中所遇到的种种问题,paxos作为经典的分布式算法,chubby作为其一个代码工程实现,此文反应了工程实现与理论文章的联系与差异,揭露了其中的种种现实问题和思考...

    CHUBBY

    CHUBBY

Global site tag (gtag.js) - Google Analytics