1. 什么是BASE理论?
在分布式事务之CAP定理一文中,我们了解到了分布式事务不可能同时实现Consistency、Availability 和 Partition-tolerance。因此,我们退而求其次,在C和A中进行权衡,最终形成了我们的BASE理论:
Basically Available(基本可用);
Soft state(软状态);
Eventually consistent(最终一致性);
BASE定理的核心思想:即使无法做到强一致性,但是每个应用可以根据自身的业务特定,采用合适的方式来达到最终一致性。
2. Basically Available(基本可用)
- 基本可用是指分布式系统在出现不可预知故障的时候,允许损失部分可用性。但是,这绝不等价于系统不可用。
- 损失相应时间:CAP可用性的服务相应时间可能是10ms,而BASE基本可用性的相应时间1-2s,即允许损失部分可用性(时间上的损失);
- 损失系统功能:BASE的基本可用性是允许某个服务出现故障时,采用服务降级等手段保证用户的体验性,即允许损失部分系统功能;
3. Soft state(软状态)
软状态指允许系统中的数据存在中间状态,并认为该中间状态的存在不会影响系统的整体可用性,即允许系统在不同节点的数据副本之间进行数据同步的过程存在延时。
4. Eventually consistent(最终一致性)
它和强一致性不一样,强一致性读操作要么处于阻塞状态,要么读到的是最新的数据;
最终一致性强调的是系统中所有的数据副本,在经过一段时间的同步后,最终能够达到一个一致的状态。因此,最终一致性的本质是需要系统保证最终数据能够达到一致,而不需要实时保证系统数据的强一致性。