C – Consistence,数据一致性
A – Availablility,系统可用性
P – Partition torlence, 分区容忍性
用户通过前端请求远程开户,输入ID;
后端服务A获取ID,请求后端服务B,后端服务B负责校验ID是否是黑名单,返回校验结果过A,A获取校验结果返回给前端用户。
如果A和B之间的网络不可用,出现网络分区。
方案1:A返回本地缓存的数据给前端用户。
方案2:A返回错误信息给前端用户。
方案1满足了AP,即在出现网络分区的情况下,系统是可用的,但是数据是不一致的。
方案2满足了CP,即在出现网络分区的情况下,系统不可用,但是数据是一致的。
对于普通的应用,满足AP既可;对于数据一致性特别高的应用,比如银行、金融系统,要求CP优先。