侧边栏壁纸
博主头像
Terry

『LESSON 5』

  • 累计撰写 90 篇文章
  • 累计创建 21 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

分布式理论-BASE理论

Terry
2020-11-15 / 0 评论 / 0 点赞 / 555 阅读 / 910 字 / 正在检测是否收录...

简述
我们上篇文章介绍了CAP原则,如果是分布式系统,只能选择一致性或者是可用性和分区容错性配合。但是我们可以根据业务特点,使用自身方式实现一致性。今天我们来学习下BASE理论。

什么是BASE

BASE理论是Basically Available(基本可用),Soft State(软状态)和Eventually Consistent(最终一致性)三个短语的缩写。
BASE理论是对CAP中的一致性和可用性进行一个权衡的结果,理论的核心思想就是:我们无法做到强一致,但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性。比如可以通过恢复数据一致性,补偿分区发生期间的错误。

BASE理论内容

基本可用

基本可用是当系统出现了某些故障的时候,还能维持使用。相比较正常的系统而言,有以下两点:

  1. 响应时间上的损失比如本来0.5秒可以返回给用户结果,现在用了1秒。
  2. 功能上的损失比如为了保护系统实现的降级操作。

软状态

软状态是指允许系统中的数据存在中间状态,此状态不会影响系统的整体可用性,即允许系统在多个不同节点的数据部分存在数据延时。

最终一致性

最终一致性是指比如上面的软状态,系统数据不可能一直是软状态,在特定时间后,需要保证所有副本的数据保持一致性,从而达到数据的最终一致性。这个时间期限取决于网络延时、系统负载、数据复制方案设计等等因素。
实际上,不只是分布式系统使用最终一致性,关系型数据库在某个功能上,也是使用最终一致性的。比如备份,数据库的复制过程是需要时间的,这个复制过程中,业务读取到的值就是旧的。当然,最终还是达成了数据一致性。这也算是一个最终一致性的经典案例。

总结

BASE理论是面向了分布式系统,用于解决CAP原则问题。他不像传统的ACID原则那种强一致性,BASE理论主要是允许在一段时间内数据可以不一致,但是最终达到一致状态。在设计中,ACID和BASE理论往往又会结合使用。

参考

BASE理论

0

评论区