什么是Base理论?
李素晴 802 0

承接上文,CAP理论在保证分区容忍性下,强一致性和高可用性无法兼得,但事实上设计分布式系统时我们不能真的去做有你无我这样的选择。

在一致性和可用性上我们可以适当的妥协,两个100分做不到,100分 + 0分同样不可取,但是我们可以选择两个都做到60分,即Base理论的内容。

基本而用

例如电商平台购物节的时候访问量会很大,后台可以选择优先展示价格、商品名的重要信息,稍微不重要的且占用网络资源大的图片信息可以延迟显示。

购物付款时,又因为访问量很大,无法立即支付成功,会响应一个正在支付中的状态,随后再提示支付成功。

上述的两点都是在可用性上做妥协的常见案例,虽然降低了可用性,但是对用户来讲是处在可容忍的范围内。

弱一致性

假设后台服务由N个节点,我们在其中一个节点上写了一条数据,为了保证强一致性,我们需要等待该信息同步到N个节点上才会返回写入成功。

如果一个节点挂掉了,整个系统都会不可用,因此在对一致性要求不高的业务上,比如说关注某个店铺,我们没有必要追求强一致性,只有对于诸如支付订单的操作会对一致性有着较高的要求。

具体实现可以使用队列、定时任务等,只要保证一段时间后能够达到一致性即可。最终一致性对这段时间的要求更低,也属于弱一致性。

评论区