欢迎来到天天文库
浏览记录
ID:59593086
大小:6.29 MB
页数:50页
时间:2020-11-14
《《云计算(第三版)》配套之03:第2章Google云计算原理与应用(二).pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、目录2.1Google文件系统GFS2.2分布式数据处理MapReduce2.3分布式锁服务Chubby2.4分布式结构化数据表Bigtable2.5分布式存储系统Megastore2.6大规模分布式系统的监控基础架构Dapper2.7海量数据的交互式分析工具Dremel2.8内存大数据分析系统PowerDrill2.9Google应用程序引擎初步了解ChubbyChubby是Google设计的提供粗粒度锁服务的一个文件系统,它基于松耦合分布式系统,解决了分布的一致性问题。通过使用Chubby的锁服务,用户可以确保数据操作过程中的一致性Chubby作为一个稳定的存储系统存储包括元数据在
2、内的小数据Google内部还使用Chubby进行名字服务(NameServer)22.3分布式锁服务Chubby2.3分布式锁服务Chubby2.3.1Paxos算法2.3.2Chubby系统设计2.3.3Chubby中的Paxos2.3.4Chubby文件系统2.3.5通信协议2.3.6正确性与性能Paxos算法proposersacceptorslearners提出决议批准决议获取并使用已经通过的决议三个节点决议只有在被proposers提出后才能批准每次只批准一个决议只有决议确定被批准后learners才能获取这个决议三个条件42.3分布式锁服务Chubby系统的约束条件p1:每
3、个acceptor只接受它得到的第一个决议。p2:一旦某个决议得到通过,之后通过的决议必须和该决议保持一致。p2a:一旦某个决议v得到通过,之后任何acceptor再批准的决议必须是v。p2b:一旦某个决议v得到通过,之后任何proposer再提出的决议必须是v。p2c:如果一个编号为n的提案具有值v,那么存在一个“多数派”,要么它们中没有谁批准过编号小于n的任何提案,要么它们进行的最近一次批准具有值v。为了保证决议的唯一性,acceptors也要满足一个约束条件:当且仅当acceptors没有收到编号大于n的请求时,acceptors才批准编号为n的提案。52.3分布式锁服务Chub
4、by6一个决议分为两个阶段准备阶段12批准阶段proposers选择一个提案并将它的编号设为n将它发送给acceptors中的一个“多数派”acceptors收到后,如果提案的编号大于它已经回复的所有消息,则acceptors将自己上次的批准回复给proposers,并不再批准小于n的提案。当proposers接收到acceptors中的这个“多数派”的回复后,就向回复请求的acceptors发送accept请求,在符合acceptors一方的约束条件下,acceptors收到accept请求后即批准这个请求。2.3分布式锁服务Chubby2.3分布式锁服务Chubby2.3.1Pax
5、os算法2.3.2Chubby系统设计2.3.3Chubby中的Paxos2.3.4Chubby文件系统2.3.5通信协议2.3.6正确性与性能5468Chubby的设计目标主要有以下几点高可用性和高可靠性213高扩展性支持粗粒度的建议性锁服务服务信息的直接存储支持通报机制支持缓存机制2.3分布式锁服务Chubby客户端应用程序客户端应用程序Chubby程序率Chubby程序率…远程过程调用Chubby单元的五个服务器主服务器客户端进程9Chubby的基本架构在客户这一端每个客户应用程序都有一个Chubby程序库(ChubbyLibrary),客户端的所有应用都是通过调用这个库中的相关
6、函数来完成的。服务器一端称为Chubby单元,一般是由五个称为副本(Replica)的服务器组成的,这五个副本在配置上完全一致,并且在系统刚开始时处于对等地位。客户端服务器端2.3分布式锁服务Chubby2.3分布式锁服务Chubby2.3.1Paxos算法2.3.2Chubby系统设计2.3.3Chubby中的Paxos2.3.4Chubby文件系统2.3.5通信协议2.3.6正确性与性能副本网络Chubby客户端网络Chubby协议快照互换(Sanpshotexchange)Paxos协议本地文件系统日志文件I/O快照容错的日志(Fault-tolerantLog)容错的数据库(F
7、ault-tolerantDB)ChubbyRPC11单个Chubby副本结构文件传输2.3分布式锁服务Chubby副本1副本2副本3值值值响应响应响应值提交客户端应用程序Paxos构架Paxos协议12容错日志的API2.3分布式锁服务Chubby2.3分布式锁服务Chubby2.3.1Paxos算法2.3.2Chubby系统设计2.3.3Chubby中的Paxos2.3.4Chubby文件系统2.3.5通信协议2.3.6正确性与性能14单调
此文档下载收益归作者所有