美文网首页
云计算(第三版)学习笔记-03

云计算(第三版)学习笔记-03

作者: 没有故事的小明 | 来源:发表于2017-03-30 14:17 被阅读0次

    分布式数据处理MapReduce

    MapReduce是Google提出的一个软件架构,是一种处理海量数据的并行编程模式,用于大规模数据集(通常大于1TB)的并行计算。MapReduce有函数式和矢量编程语言的共性,是的这种编程模式特别适合于非结构化和结构化的海量数据的搜索、挖掘、分析和机器智能学习。

    MapReduce把对数据集的大规模操作,分发给一个主节点管理下的各分节点共同完成,通过这种方式实现任务的可靠执行与容错机制。在每个时间周期,主节点都会对分节点的工作状态进行标记。一旦分节点状态标记为死亡状态,则这个节点的所以任务都将分配给其他分节点重新执行。

    分布式锁服务Chubby

    Chubby是Google设计的提供粗粒度锁服务的一个文件系统,它基于松耦合分布式系统,解决了分布的一致性问题。

    Paxos算法

    Paxos算法是Leslie Lamport最先提出的一种基于消息传递的一致性算法,用于解决分布式系统中的一致性问题。Paxos算法中节点被分成了三种类型:proposers、acceptors、learners。其中proposers提出决议(value,实际上就是告诉系统接下来该执行哪个指令),acceptors批准决议,learners获取并使用已经通过的决议。

    满足三个条件可以保证数据的一致性:1.决议只有在被proposers提出后才能批准;2.每次只批准一个决议;3.只有决议确定被批准后learners才能获取这个决议。

    在这些约束条件的基础上,可以将一个决议的通过分成以下两个阶段。1.准备阶段:proposers选择一个提案并将它的编号设置为n,然后将它发送给acceptors中的一个“多数派”,acceptors收到后,如果提案的编号大于它已经回复的所以消息,则acceptors将自己上次的批准回复给proposers,并不再批准小于n的提案;2.批准阶段:当proposers接收到acceptors中的这个“多数派”的回复后,就向回复请求的acceptors发送accept请求,在符合acceptors一方约束条件下,acceptors收到accept请求后即批准这个请求。

    Chubby系统设计

    Chubby的设计目标有以下几点:1.高可用性和高可靠性;2.高拓展性;3.支持粗粒度的建议性锁服务;4.服务信息的直接存储;5.支持通报机制;6.支持缓存机制。

    Chubby中的Paxos

    单个副本主要由以下三层次组成:1、最底层是一个容错的日志,该日志对于数据库的正确性提供了重要的支持。2、最底层之上是一个容错的数据库,这个数据库主要包括一个快照和一个记录数据可操作的重播日志,每一次的数据库操作最终都将提交至日志中。3、Chubby构建在这个容错的数据库之上,Chubby利用这个数据库存储所有的数据。

    Chubby系统本质上就是一个分布式的、存储大量小文件的文件系统,它所有的操作都是在文件的基础上完成的。

    相关文章

      网友评论

          本文标题:云计算(第三版)学习笔记-03

          本文链接:https://www.haomeiwen.com/subject/vuzdottx.html