技术选型二第六周作业「架构师训练营第 1 期」
请简述CAP 原理。
C指一致性
A指可用性
P网络分区容错性
节点之间只要通过网络通信,则无法避免节点之间不通的情况,所以可以选择的方案只能是CP与AP
CP指考虑数据一致性,所有数据备份,才同一时刻访问都是最新的值
AP指考虑网络故障时,应用可以对外正常提供服务,数据有短时间内不一致可以忽略,只要最终一致就可以。例如,更新订单与更新库存是两个服务,支付成功后通过消息队列,异步才扣减库存,则会出现短暂的库存数量查询不正确
一致与可用是冲突,满足一致在网络故障时,则需要返回失败,提供不了服务
可用性则要求是最终一致性数据,如果出现冲突,服务端可以通过时间戳最新的覆盖旧的数据,让数据最终一致。也可以客户端中拿到多节点数据,自已判断合并还是用时间戳覆盖。也可以使用投票法,写的时间要写入半数以上节点,则成功,读的时候,所有节点中的数据,有不一致,则半数以上节点一致为准
版权声明: 本文为 InfoQ 作者【天天向善】的原创文章。
原文链接:【http://xie.infoq.cn/article/39c0ba72cff9bf6a48e0b1dcd】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论