架构师训练营第 0 期第 6 周作业

发布于: 21 小时前
架构师训练营第 0 期第 6 周作业

作业一:

下面两题,至少选做一题

  • 请简述 CAP 原理。

  • 针对 Doris 案例,请用 UML 时序图描述 Doris 临时失效的处理过程(包括判断系统进入临时失效状态,临时失效中的读写过程,失效恢复过程)。

请简述 CAP 原理。

CAP 定理(CAP theorem)又被称作布鲁尔定理(Brewer's theorem),是加州大学伯克利分校的计算机科学家埃里克·布鲁尔(Eric Brewer)在 2000 年的 ACM PODC 上提出的一个猜想。2002 年,麻省理工学院的赛斯·吉尔伯特(Seth Gilbert)和南希·林奇(Nancy Lynch)发表了布鲁尔猜想的证明,使之成为分布式计算领域公认的一个定理。对于设计分布式系统的架构师来说,CAP 是必须掌握的理论。

在一个分布式系统(指互相连接并共享数据的节点的集合)中,当涉及读写操作时,只能保证一致性(Consistence)、可用性(Availability)、分区容错性(Partition Tolerance)三者中的两个,另外一个必须被牺牲。

  1. 一致性(Consistency)

对某个指定的客户端来说,读操作保证能够返回最新的写操作结果。

  1. 可用性(Availability)

非故障的节点在合理的时间内返回合理的响应(不是错误和超时的响应)。

  1. 分区容忍性(Partition Tolerance)

当出现网络分区后,系统能够继续“履行职责”。

虽然 CAP 理论定义是三个要素中只能取两个,但放到分布式环境下来思考,我们会发现必须选择 P(分区容忍)要素,因为网络本身无法做到 100% 可靠,有可能出故障,所以分区是一个必然的现象。如果我们选择了 CA 而放弃了 P,那么当发生分区现象时,为了保证 C,系统需要禁止写入,当有写入请求时,系统返回 error(例如,当前系统不允许写入),这又和 A 冲突了,因为 A 要求返回 no error 和 no timeout。因此,分布式系统理论上不可能选择 CA 架构,只能选择 CP 或者 AP 架构。

来自极客时间课程:李运华老师《从0开始学架构》“22 | 想成为架构师,你必须知道CAP理论

作业二:

根据当周学习情况,完成一篇学习总结。

本周主要内容。

  • 分布式数据库

  • NoSQL

  • 分布式一致ZooKeeper

  • 搜索引擎

  • Doris – 海量 KV Engine

用户头像

无名氏

关注

还未添加个人签名 2017.09.11 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第 0 期第 6 周作业