练习 6-1
1. 简述 CAP 原理
1. 一致性(C)
指的是分布式系统中,客户端获取数据的时候总是能获取到最新的数据,否则就返回错误或不返回。
2. 可用性(A)
指的是分布式系统中,客户端获取数据的时候总是能得到一个正确的返回,而不应该是返回错误或失去响应,超时。
3. 分区容错性(P)
指的是分布式系统中,因为网络原因部分部分节点消息丢失或延迟了,系统依然应该是可以操作的。网络是不可靠的,网络分区是一定会发生的。
4. 总结
当网络分区失效发生的时候,要么取消操作保持数据一致性,系统不可用。要么继续写入数据,保持系统可用,但是数据不一致(失去联系的节点的数据还是旧的)。
分布式系统的可用性,一致性,分区容错性是不可能同时满足的,而系统分区是一定会出现的,所以分区容错性是一定要满足的,那么这个时候可用性和一致性只能选择其中一个了,选择一致性,那么系统就不可用。选择可用性,那么系统中的数据就不一致了。
架构师一定要知道,有些东西是不能一定都能满足的,不管是技术选型还是架构设计的时候,都会有一些东西满足不了的,这个时候就需要舍弃一些东西。
评论