第六章作业
请简述CAP原理
CAP原理
一致性C、可用性A、分区耐受性P
一致性
每次读取的数据都应该是最近写入的数据或者返回一个错误,而不是过期数据
可用性
每次请求都应该得到一个响应,而不是返回一个错误或者失去响应,不过这个响应不需要保证数据是最近写入的
分区耐受性
即时因为网络原因,部分服务器节点之间消息丢失或者延迟了,系统依然是可操作的
CAP原理要点
当网络分区失效发生时,我们要么取消操作,这样数据就是一致的,但是系统却不可用;要么我们继续写入数据,但是数据一致性就得不到保证
对于分布式系统而言,网络失效一定会发生,也就是说,分区耐受性是一定要保证的,那么在可用性与一致性之间必须做二选一
当网络分区失效时,也就是网络不可用时,如果选择了一致性,系统就可能返回一个错误码或干脆超时,即系统不可用。如果选择了可用性,那么系统总是可以返回一个数据,但是并不能保证这个数据是最新的
所以,关于CAP原理,更准确的说法是,在分布式系统必须要满足分区耐受性的前提下,可用性与一致性无法同时满足。
评论