SOFARaft是强一致性还是最终一致性?

CAP理论: C:这里的C指的是强一致性,同一时刻不同的客户端获取到的数据版本都是相同的 A: 可用性,指的是系统会响应客户端的每一个请求 P:分区容忍性,指的是当系统里面某个节点与其他节点通讯切断(导致节点间数据不一致)系统仍然可以正常工作

互联网应用P是必须保证的,但是A和P为什么不能同时满足呢?
因为如果需要保证强一致性,那么当系统节点出现数据不一致的时候就要进行数据同步,那么这期间系统是无法保证强一致性的,所以如果数据同步期间有请求打到Node1节点,系统将会告知客户端系统不可用请稍后重试,当然系统也可以把Node1节点上的旧版本的数据返回给客户端(最终一致性,Base理论)

举个AP的例子: 用户在Node1节点设置了自己的新的头像,然后在Node2节点查看自己的头像,有可能看到的还是老头像。

举个CP的例子: 用户在Node1节点充值了100元,然后在Node2节点查看余额,如果这个时间节点之间还没有同步,那么将告知服务重试.

CP:redis、zookeeper(最终一致性还是强一致性?)
AP:euraka、

关于Raft协议,可以看一下这个文章 www.cnblogs.com/mindwind/p/…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值