架构师训练营第六周命题作业
请简述CAP原理。
针对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的数据。
版权声明: 本文为 InfoQ 作者【whiter】的原创文章。
原文链接:【http://xie.infoq.cn/article/59f7d51bfeae22280beb2e91c】。未经作者许可,禁止转载。
评论 (1 条评论)