Day8 分布式理论-现代架构基石| 青训营笔记

57 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 8 天

1. 分布式概述

  • 常见的分布式系统

    • 分布式存储:GFS、Ceph、HDFS、Zookeeper
    • 分布式数据库:Spanner、TiDB、HBase、MangoDB
    • 分布式计算:Hadoop、YARN、Spark

2. 系统模型

故障模型

六种故障模型,从处理的难易程度分类

  • Byzantine failure:节点可以任意篡改发送给其他节点的数据,是最难处理的故障
  • Authentication detectable byzantine failure (ADB):节点可以篡改数据,但不能伪造其他节点的数据
  • Performance failure:节点未在特定时间段内收到数据,即时间太早或太晚
  • Omission failure:节点收到数据的时间无限晚,即收不到数据
  • Crash failure:节点停止响应,持续性的故障
  • Fail-stop failure:错误可检测,是最容易处理的故障

image.png

3. 理论基础

  • CAP理论

    • C(Consistence):一致性
    • A(Availability):可用性
    • P(Partitioning):分区容错性:分布式系统在遇到任何网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务,除非整个网络都发生了故障
  • CAP诞生了三类系统:

    • CA系统:传统数据库的代表
    • AP系统:放弃强一致性,保证高可用,不少nosql存储系统采用
    • CP系统:放弃可用性,保证数据一致性
  • ACID理论

image.png

  • BASE理论

4. 分布式事务

  • MVCC:多版本并发控制的方法

5. 共识协议

  • RAFT协议 Raft协议是一种分布式一致性算法(共识算法),即使出现部分节点故障,网络延时等情况,也不影响各节点,进而提高系统的整体可用性。Raft是使用较为广泛的分布式协议 image.png

6. 分布式实践

总结思考

之前也了解过分布式相关,学习过6.824的部分课程及tinykv的前两个lab,今天更加系统性地串了一遍分布式架构的知识。

参考资料

  1. juejin.cn/post/719336…
  2. bytedance.feishu.cn/file/boxcn4…