美文网首页
MIT分布式课程

MIT分布式课程

作者: coderlan | 来源:发表于2018-05-29 23:58 被阅读0次

    为什么需要分布式

    • 通过复制(replication)实现容错
    • CPUs/mem/disk/net的水平扩容

    分布式的难点

    • 复杂。多个并发部分
    • 部分失败问题
    • 难以实现的性能潜力

    分布式领域有个著名的CAP定律

    • Consistency:一致性,需要处理部分失败的问题。比如关系型数据库的ACID。
    • Availability:可用性,避免单点。
    • Partition tolerance:分区容忍性,即扩展性,按需扩展。

    有个说法是三者最多只能取其二。主要的矛盾点在于一致性和扩展性,因为实现按需扩展,必定会存在不一致的情况。因此分布式系统往往都会是CA或者是AP。最典型的的就是传统关系型数据库(CA)和NoSQL(AP)。

    分布式系统往往会有以下几个方面:

    • 存储
    • 通信
    • 计算

    MapReducer是一个分布式计算的编程模型

    • 计算过程分成map和reduce。Map函数不需要相互等待或者共享数据,这对并行非常友好。
    • map不保持状态,部分map失败了,重跑可以得到一样的结果。
    • map 的输入来自本地磁盘,而不是网络,中间结果也是保存在本地磁盘,而且只会网络传输一次(reduce),这点提升网络性能。

    相关文章

      网友评论

          本文标题:MIT分布式课程

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