第六周课后练习
1、CAP原理
Consistency:一致性
每次读取的数据都必须是最近写入的数据或者返回一个错误,而不是过期的数据。
Availability:可用性
每次请求都应该得到一个响应,而不是返回一个错误或者失去响应,不过这个响应不需要保证数据是最近写入的,也就是说系统需要一直都是可以正常使用的,不会引起调用者的异常,但是并不保证响应的数据是最新的。
Partition tolerance:分区容错性
即使因为网络原因,部分服务器节点之间消息丢失或者延迟了,系统依然应该是可以操作的
一致性、可用性、分区耐受性三个指标不可能同时满足,这个叫做CAP原理。
当网络分区失效发生的时候,我们要么取消操作,这样数据是一致的,但系统却不是可用的;要么我们继续写入数据,但数据的一致性就得不到保证。
对于一个分布式系统而言,网络失效一定会发生,也就是说分区耐受性是必须要保证的,那么在可用性和一致性上就必须二选一。
当网络分区失效,也就是网络不可用时,如果选择一致性,系统就可能返回一个错误码或者超时,即系统不可用。如果选择可用性,那么系统总是可以返回一个数据,但不能保证这个数据是最新的。
所以在分布式系统必须要满足分区耐受性的前提下,可用性和一致性无法同时满足。
2、Doris临时失效处理过程的时序图
评论