架构师训练营第六周作业
作业1
简述CAP原理
CAP
一致性 Consistency
一致性是说,每次读取的数据都应该是最近写入的数据或者返回一个错误,而不是过期数据,也就是说,数据是一致的。
可用性 Availability
可用性是说,每次请求都应该得到一个响应,而不是返回一个错误或者失去响应,不过这个响应不需要保证数据是最近写入的,也就是说系统需要一直都是可以正常使用的,不会引起调用者的异常,但是并不是保证响应的数据都是最新的。
分区耐受性 Partition tolerance
分区耐受性是说,即使因为网络原因,部分服务器节点之间消息丢失或者延迟了,系统依然应该是可以操作的。
而对于一个分布式系统而言,网络失效必然会发生,也就是说分区耐受性是必须要保证的,那么在可用性和一致性上就必须二选一。
当网络分区失效,也就是网络不可用的时候,如果选择了一致性,系统就不可用。如果选择了可用性,那么系统总能返回一个数据,但并不能保证这个数据是最新的。
评论