架构师训练营第六周命题作业

发布于: 2020 年 07 月 15 日
  1. 请简述CAP原理。

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

1 CAP定理

CAP 定理(CAP theorem),或称Brewer's theorem,是理论计算机科学领域的一个定理。该定理描述了,在一个分布式数据存储系统中,不可能同时满足下面全部三项保证:

  • 一致性(Consistency):每个读操作都可以得到最新写入的数据或者返回错误

  • 可用性(Availablity):每个操作都可以得到正确响应,但不保证数据是最新的

  • 分区容错性(Partition tolerance):即使节点之间有一些消息不能传送,系统仍可以继续运行

该定理与1998年最早由Eric Brewer提出,并于1999年发表,最初称为CAP principle。2002年,有人提供了证明,便称为CAP theorem。

在分布式系统中,网络失败是一定会发生的,因此一定会发生网络分区。在网络分区发生时,余下的两个中只可以同时满足一个。当选择一致性时,如果要获取的信息由于网络分区无法保证是最新的,系统会返回错误或超时。此时系统不可用,但保证了数据的一致性。当选择可用性时,系统一定会返回查询结果,不过由于网络分区结果无法保证是最新的。此时系统可用但无法保证数据的一致性。当网络分区没发生时,也就是系统正常运行时,一致性和可用性是可以同时保证的。

2 Doris失效恢复

下图包含Doris系统从正常状态开始,出现瞬时失效、临时失效以及永久失效的时序图。

其中第一个loop (Normal case) 对应的是正常状态。当数据节点2失效时开始重试,如果重试成功,恢复到正常状态,如果重试失败进入临时失效状态。在alt部分分为两种情况,第一种情况是当确认节点2临时失效发生时,开始向节点X写入备份日志。第二种情况是当节点2恢复响应之后,进入临时失效的恢复阶段。最后,如果节点2经过一段时间后仍然没有恢复,进入永久失效阶段,开始向节点X同步节点1的数据。

发布于: 2020 年 07 月 15 日 阅读数: 13
用户头像

whiter

关注

还未添加个人签名 2020.05.29 加入

还未添加个人简介

评论 (1 条评论)

发布
用户头像
请加“极客大学架构师训练营”标签,便于分类
2020 年 07 月 15 日 15:34
回复
没有更多了
架构师训练营第六周命题作业