参考:https://baijiahao.baidu.com/s?id=1650890231453975345&wfr=spider&for=pc
C(Consistency):一致性,所有节点在同一时间的数据完全一致。
A(Availability):可用性,服务高容错,高可用,不会出现问题。
P(Partition tolerance):分区容错性,某节点的网络分区故障的时候,仍然能够对外提供较好的服务。
在分布式系统中,网络故障一直都是存在的,所以P是一定要满足的;
如果选择了CP,发生网络故障,因为追求一致性就会有数据请求延迟阻塞,可用性无法满足。
如果选择了AP,发生网络故障,因为追求可用性就会有数据延迟备份,就会有一致性问题。
所以分布式系统,只能选择CP或者AP。
对金融类这些数据一致性要求高的,可以牺牲可用性,选择CP。
对普通的场景可以牺牲一致性,选择AP。