【Java高级工程师蜕变之路】053 分布式理论之BASE定理

BASE定理

CAP不可能同时满足,但是分区容错性对于分布式系统来说,是必须的。如果能够同时满足CAP就好了,于是出现了BASE理论。

BASE:全称Basically Availability(基本可用),Soft State(软状态),和Eventually Consistency(最终一致性),三个短语的缩写。

BASE定理是对CAP中一致性和可用性权衡的结果,来源于对大型互联网分布式实践的总结,是基于CAP定理逐步演化而来。

核心思想是:即使无法做到强一致性(Strong Consistency),但是每个应用可以根据自身的特点,采取适当的方式让系统达到最终一致性(Eventually Consistency)。

  1. Basically Availability(基本可用)

    什么是基本可用?就是相对于正常系统而言,系统虽然出现了不可预知的故障,但是还是能用。

    • 响应时间上的损失:正常情况下的搜索引擎在0.5秒给出搜索结果,基本可用的搜索引擎在1秒给出搜索结果

    • 功能上的损失:在电商网站上,正常情况下,用户可以完成每一笔订单,但是,在大促销期间,为了保证购物系统的稳定,部分消费者会被引导到一个降级页面

image-20220318175020403

  1. Soft State(软状态)

    什么是软状态?对于原子性而言,要求多个节点的副本数据是一致的,这是一种硬状态。

    软状态指的是:允许系统中的数据存在中间状态,并认为该状态不会影响系统的整体可用性。

    就是允许系统在多个不同节点的数据副本存在数据延迟。

  2. (Eventually Consistency)最终一致性

    软状态不可能一致持续,必须有个期限。

    在期限过后,应当保证所有副本的数据一致性。从而达到数据的最终一致性。

    时间期限取决于网络延迟,系统负载,数据复制方案设计等因素。

posted @ 2022-05-04 22:32  灯塔下的守望者  阅读(119)  评论(0编辑  收藏  举报