作业 -06- 分布式
一、请简述CAP原理
CAP是Consistency(一致性)、Availability(可用性)、Partition tolerance(分区容错)的首字母拼写。
一致性,每次读取的数据都应该是最近写入的数据或者返回一个错误,而不是过期数据,也就是说,数据是一直的。
可用性,每次请求都应该得到一个响应,而不是返回一个错误或者失去响应,不过这个响应不需要保证数据是最近写入的,也就是说,系统需要一直都是正常使用的,不会引起调用者的异常,但并不能保证响应的数据是最新的。
分区容错,即使因为网络原因,部分服务器节点之间消息丢失或者延迟了,系统依然是可以操作的。
CAP原理:
当网络分区失效发生的时候,我们要么取消操作,这样数据就是一致的,但是系统确是不可用;要么我们继续写入数据,但是数据的一致性就得不到保证。
对于一个分布式系统而言,网络失效是一定会发生的,也就是说,分区容错是必须要保证的,那么在可用性和一致性上必须二选一。
当网络不可用的时候,如果选择了一致性,系统就可能返回错误码或者干脆超时,即系统不可用。如果选择了可用性,那么系统总是可以返回一个数据,但是并不能保证这个数据是最新的。
所以,关于CAP原理,更准确的说法是,在分布式系统必须满足分区容错的的前提下,可用性和一致性无法同时满足。
二、针对 Doris 案例,请用 UML 时序图描述 Doris 临时失效的处理过程(包括判断系统进入临时失效状态,临时失效中的读写过程,失效恢复过程)
评论