CAP 原理简介
现在越来越多的系统采用了分布式,分布式在设计之初就要考虑如何设计,CAP理论就是一个很好的参考方向。设计的时候根据业务场景和具体情况来设计来满足CP还是AP。CAP解释如下:
Consistency(一致性)
一致性是说,每次读取的数据都应该是最近写入的数据或者返回一个错误,而不是过期的数据,也就是说数据的一致性。
Availability(可用性)
可用性是说,没有一次请求都应该得到一个响应,而不是返回一个错误或者失去响应,不过这个响应不需要保证数据是最近写入的。也就是说系统一直是可用,但是不能保证获得的数据是最新的数据
Partition tolerance(分区容错性)
分区容错性,即使因为网络原因,部分服务节点之间消息丢失或者延迟了,系统依然可以操作。
在分布式系统中分区的网络问题一定是存在的,但是系统依然还需要提供服务,所有在CAP理论中P是一定要满足的,满足了P后就只能满足A或者C。即只能满AP或则CP。
AP
当分区网络出现问题,服务之前的数据无法同步,要保证一致性就只能返回一个错误,失去了可用性
AP
当网络分析出现问题,服务器之前的数据无法同步,要保证可用性,就只能返回不是最新的数据。
评论