前言
- BASE理论是CAP理论中的AP的延伸,是对互联网大规模分布式系统的实践总结,强调可用性。
BASE理论
- BASE理论的核心是基本可用(Basically Available),软状态(Soft State)和最终一致性(Eventually Consistent)。
- 软状态为不同节点之间,数据副本存在短暂的不一致性。
- 基本可用指的是当系统节点出现大规模故障的时候,通过牺牲部分功能的可用性,来保证系统的核心功能可用。
- 基本可用的本质是一种妥协,通过牺牲部分功能的可用性,来保证核心功能的稳定运行。
- 最终一致性,系统所有的数据副本都存在一段时间的同步后,最终能够达到一致的状态。也就是说,在数据一致性上,存在一个短暂的延迟。
- 无法实施最终一致性,才考虑使用强一致性和事务。对于支付系统或者金融系统的数据,需要考虑事务实现。
实现最终一致性的常用方法
- 读时修复:在读取数据的时候,检测数据的不一致,进行修复。
- 写时修复: 写失败的时候,将数据缓存到本地磁盘上,然后周期性的重传,本质就是失败重传。
- 异步修复:通过定时对账检测副本数据的一致性,并且修复。