版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Google的云计算分布式锁服务Chubby1Chubby是什么?2主要用于解决分布式一致性问题在一个分布式系统中,有一组的Process,它们需要确定一个Value。于是每个Process都提出了一个Value,一致性就是指只有其中的一个Value能够被选中作为最后确定的值,并且当这个值被选出来以后,所有的Process都需要被通知到粗粒度的分布式锁服务Chubby是Google为解决分布式一致性问题而设计的提供粗粒度锁服务的文件系统其他分布式系统可以使用它对共享资源的访问进行同步1.Paxos算法该方案存的缺陷试图由以下三点来保证数据的一致性:(1)决议只有被proposers提出后才能批准(2)每次只批准一个决议(3)只有决议确定被批准后learners才能获取这个决议决议通过的两个阶段:准备阶段:proposers选择一个提案并将它的编号设为n,然后将它发送给acceptors中的一个“多数派”。Acceptors收到后,如果提案的编号大于它已经回复的所有消息,则acceptors将自己上次的批准回复给proposers,并不再批准小于n的提案
批准阶段:当proposers接收到acceptors中的这个“多数派”的回复后,就向回复请求的acceptors发送accept请求,在符合acceptors一方的约束条件下,acceptors收到accept请求后即批准这个请求
解决一致性问题算法:为了减少决议发布过程中的消息量,acceptors将这个通过的决议发送给learners的一个子集,然后由这个子集中的learners去通知所有其他的learners;特殊情况:如果两个proposer在这种情况下都转而提出一个编号更大的提案,那么就可能陷入活锁。此时需要选举出一个president,仅允许president提出提案2.Chubby的系统设计Chubby中还添加了一些新的功能特性;这种设计主要是考虑到以下几个问题:1、开发者初期很少考虑系统的一致性,但随着开发进行,问题会变得越来越严重。单独的锁服务可以保证原有系统架构不会发生改变,而使用函数库很可能需要对系统架构做出大幅度的改动2、系统中很多事件发生是需要告知其他用户和服务器,使用一个基于文件系统的锁服务可以将这些变动写入文件中。有需要的用户和服务器直接访问这些文件即可,避免因大量系统组件之间事件通信带来系统性能下降3、基于锁的开发接口容易被开发者接受。虽然在分布式系统中锁的使用会有很大的不同,但是和一致性算法相比,锁显然被更多的开发者所熟知Paxos算法实现过程中需要一个“多数派”就某个值达成一致,本质上就是分布式系统中常见的quorum机制;为保证系统高可用性,需要若干台机器,但使用单独锁服务的话一台机器也能保证这种高可用性Chubby设计过程中一些细节问题值得关注:在Chubby系统中采用了建议性的锁而没有采用强制性的锁。两者的根本区别在于用户访问某个被锁定的文件时,建议性的锁不会阻止访问,而强制性的锁则会阻止访问,实际上这是为了方便系统组件之间的信息交互另外,Chubby还采用了粗粒度(Coarse-Grained)锁服务而没有采用细粒度(Fine-Grained)锁服务,两者的差异在于持有锁的时间,细粒度的锁持有时间很短Chubby的系统架构3、Chubby中的Paxos算法Chubby系统本质上就是一个分布式的、存储大量小文件的文件系统,它所有的操作都是在文件的基础上完成ØChubby最常用的锁服务中,每一个文件就代表一个锁,用户通过打开、关闭和读取文件,获取共享(Shared)锁或独占(Exclusive)锁Ø选举主服务器过程中,符合条件的服务器都同时申请打开某个文件并请求锁住该文件Ø成功获得锁的服务器自动成为主服务器并将其地址写入这个文件夹,以便其他服务器和用户可以获知主服务器的地址信息
4、Chubby文件系统5、通信协议Ø每个Chubby单元是由五个副本组成的,这五个副本中需要选举产生一个主服务器,这种选举本质上就是一个一致性问题。实际执行过程中,Chubby使用Paxos算法来解决
Ø主服务器产生后客户端的所有读写操作都是由主服务器来完成的
a读操作很简单,客户直接从主服务器上读取所需数据即可
a写操作就会涉及数据一致性的问题;为了保证客户的写操作能够同步到所有的服务器上,系统再次利用了Paxos算法6、正确性与性能一致性
需要实现的特性高可用性高可靠性支持粗粒度的建议性锁服务支持小规模文件直接存储不作考虑的特性高性能存储能力Chubby的设计目标18Chubby的系统架构19文件系统中文件的权限文件系统中文件操作的权限有哪些?这些权限之间的互斥关系是怎样的?Chubby系统本质上就是一个分布式的、存储大量小文件的文件系统Chubby中的锁就是文件在GFS的例子中,创建文件就是进行“加锁”操作,创建文件成功的那个server其实就是抢占到了“锁”用户通过打开、关闭和存取文件,获取共享锁或者独占锁;并且通过通
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳动合同签订前的员工福利制度
- 临时客服人员聘用合同样本
- 足球场膜结构施工合同
- 超分子水杨酸换肤治疗
- 2022年大学水利专业大学物理下册期末考试试卷C卷-附解析
- 商业空地租赁合同范本
- 2022年大学电气信息专业大学物理二模拟考试试题A卷-含答案
- 餐厅包间地砖铺设合同
- IT行业销售精英聘用合同
- 通信工程监理聘用合同样本
- 电气工程师生涯人物访谈报告
- 三级配电箱电路图(共2页)
- 第三讲 DPS应用(5、专业试验统计)
- 工具式悬挑防护棚安全专项施工方案
- 初中音乐江苏民歌ppt课件
- 《2021国标暖通图集资料》14K117-3 锥形风帽
- 机动车维修企业安全生产标准化考评方法和考评实施细则(完整版)
- 江西省职业培训补贴范围及标准-江西省职业技能鉴定指导中心
- 七年级生物上册(济南版)知识点归纳
- 应急联防联动协议
- D600变频器说明书
评论
0/150
提交评论