一致性(Consistency)
指强一致性
可用性(Availability)
系统提供的服务一直处于可用状态,用户的操作请求在指定的响应时间内响应请求,超出时间范围,认
为系统不可用
分区容错性(Partition tolerance)
分布式系统在遇到任何网络分区故障的时候,仍需要能够保证对外提供一致性和可用性服务,除非是整
个网络都发生故障。
CP和AP
在一个分布式系统中不可能同时满足一致性、可用性、分区容错性,最多满足两个,对于分布式互联网
应用而言,必须保证P,所以要么满足AP模型、要么满足CP模型
举例 :
- 满足AP的例子:比如购票网站, 当我们看到网站上显示还剩余3张票时,实际的库存其实票已经卖光了,但为了保证可用性(满足了Availability), 所以会显示还有3张票(不满足Consistency)。 最终网站上的票数还是会更新为已售空的状态,只是不能实时地让用户看到。
- 满足CP的例子:还是以购票网站为例, 如果要保证CP, 则网站的响应可能会非常慢,每张票的售出,都要集群之间同步数据,从而导致用户体验非常差,甚至超出可接受的响应时间范围。