BASE理论

3 分钟阅读 504 字 + 170 词
由于CAP中一致性C和可用性A无法兼得,eBay的架构师,提出了BASE理论,它是 通过牺牲数据的强一致性 ,来获得可用性。
它由于如下3种特征。
  1. Basically Available(基本可用) :分布式系统在出现不可预知 故障 的时候, 允许损失部分可用性 保证核心功能 的可用。
  2. Soft state(软状态): 软状态也称为弱状态,和硬状态相对,是指 允许系统中的数据存在中间状态,并认为该中间状态的存在不会影响系统的整体可用性 ,即允许系统在不同节点的数据副本之间进行数据 同步的过程存在延时
  3. Eventually consistent(最终一致性) :最终一致性强调的是系统中所有的数据副本,在 经过一段时间 的同步后, 最终 能够达到一个一致的状态。因此,最终一致性的本质是需要系统保证最终数据能够达到一致,而不需要实时保证系统数据的强一致性。
    BASE理论并没有要求数据的强一致性,而是允许数据在一定的时间段内是不一致的,但在最终某个状态会达到一致。在生产环境中,很多公司,会采用BASE理论来实现数据的一致,因为产品的可用性相比强一致性来说,更加重要。例如在电商平台中,当用户对一个订单发起支付时,往往会调用第三方支付平台,例如支付宝支付或者微信支付,调用第三方成功后,第三方并不能及时通知我方系统,在第三方没有通知我方系统的这段时间内,给用户的订单状态显示支付中,等到第三方回调之后,再将状态改成已支付。虽然订单状态在短期内存在不一致,但是用户却获得了更好的产品体验。

目录