架构师训练营第六周命题作业
1. 请简述 CAP 原理
其中的C指的是一致性Consistency, 每次读取的数据应该是最新的数据或者返回错误,而不是过期数据,也就是说数据是一致的。
其中的A指的是可用性Availability, 每次请求都应该得到响应,而不是返回错误或者失去响应,不过这个响应不需要保证数据是最新的,也就是说系统需要一直都是可以正常使用的。
其中的C指的是分区耐受性,即使因为网络原因,部分服务器节点之间消息丢失或者延迟了,系统依然应该是可以操作的。
对于一个分布式系统而言,网络失效一定会发生,也就是说分区耐受性是必须要保证的,那么在可用性和一致性上必须二选一。当网络分区失效,也就是网络不可用的时候,如果选择了一致性,系统就可能返回错误码或者干脆超时,即系统不可用。如果选择了可用性,那么系统总是可以返回数据,但是不保证这个数据是最新的。
所以,关于CAP原理,更准确的说法是,在分布式系统必须要满足分区耐受性的前提下,可用性和一致性无法同时满足。
评论