极客时间 - 架构师一期 - 第六周作业
作业一(至少完成一项):
请简述 CAP 原理。
cap 原理(CAP 原则又称 CAP 定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。)
当网络分区失效发生的时候,我们要么取消操作,这样数据就是一致性的, 但是系统却不可用,要么我们继续写入数据,但是数据的一致性就得不到保证。
对于一个分布式的系统而言,网络失效一定会发生,也就是说,分区耐受性是必须要保证的,那么在可用性和一致性上就必须二选一
当网络分区失效,也就是网络不可用的时候,如果选择了一致性,系统就可能返回一个错误码或者干脆超时,即系统不可用。如果选择了可用性,那么系统总是可以返回一个数据,但是并不能保证这个数据是最新的
所以,关于 cap 原理,更准确的说法是,在分布式系统必须要满足分区耐受性的前提下,可用性和一致性无法工时满足
平时工作中,因为系统比较小,没有进行过 cap 原理实践,一般都是一致性和可用性实现了就可以了。之后进行数据库表分区,需要考虑到分区容错性,以及之后的分区前的数据迁移如何在不影响业务的情况下进行。
针对 Doris 案例,请用 UML 时序图描述 Doris 临时失效的处理过程(包括判断系统进入临时失效状态,临时失效中的读写过程,失效恢复过程)。
评论