准备工作
阅读:GFS论文
背景
- GFS是Google在2003年发出的经典论文,其作为分布式文件系统,实际应用在Google的MapReduce框架实现中,作为原始数据和最终结果存储的基础服务。
- 为其他上层基础系统比如BigTable提供服务,Hadoop中的HDFS就是其开源实现。
- 这篇文章讨论了诸如一致性、容错、网络性能等分布式系统工程中的经典问题,启发了后续很多分布式文件系统的发展。
为什么阅读GFS的论文
- GFS使用了map/reduce的架构
- 好的性能 & 良好的并行I/O性能
- 其是一篇好的系统论文:从apps到网络都有细节说明
- 包含分布式的许多概念:performance, fault-tolerance, consistency
- 使用广泛(Bigtable、Spanner、Hadoop)
一致性是什么
- 一致性是保证分布式系统正确的条件。在有多个副本,并且并发下变得尤其困难。
- 一致性是分布式系统中最关键的问题,基本所有分布式系统都必须讨论这个问题。
- 考虑如果在一个程序中写,但是在另一个程序的副本中读取的情况。
- 强的一致性会保证在另一个程序中读取到的一定是发生在最后一次写入之后。
- 弱的一致性无法对其进行保证,可能会读取到过时的数据。
- 强一致性可以保证读到最新的写信息,但是对性能肯定会造成影响,好的系统设计就是在这两点中进行平衡。