前言
本博客讨论服务中心集群的数据一致性问题。
一、CAP理论
无论是在工作还是学习途中我们必然会接触到分布式系统,例如:zookeeper就是使用CP原则,eureka使用AP原则,那么CAP原则是必然需要了解的知识之一。
1、理论
一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)
可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性)
分区容忍性(P):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。
2、取舍策略
取舍策略
1.在保证CP的情况下
放弃一致性,追求分区容忍性和可用性。
业务场景:订单退款(今日退款成功,明日账号到账,只要用户可以接受在一定时间内到账就可以)
为了保证数据数据一致性,data1 需要将数据复制给 data2,那么两个节点之间需要建立通信,可由于网络原因,通讯出现了问题,导致失败了,比较网络是不可靠的。不过系统又保证了分区容错性&