BASE理论是eBay架构师提出的。
BASE定理来源:是CAP中一致性和可用性的权衡结果,它来自大规模互联网分布式系统的总结,是基于CAP定理逐步演化而来的。
BASE定理的核心思想:即使无法做到强一致性,但是每个应用可以根据自身的业务特定,采用合适的方式来达到最终一致性。
BASE是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)三个短语的缩写。
基本可用是指分布式系统在出现不可预知故障的时候,允许损失部分可用性——但请注意,这绝不等价于系统不可用。
举两个例子:
响应时间上的损失:正常情况下,一个在线搜索引擎需要在0.5秒之内返回给用户相应的查询结果,但由于出
现故障(比如系统部分机房发生断电或断网故障),查询结果的响应时间增加到了1~2秒。
功能上的损失:正常情况下,在一个电子商务网站(比如淘宝)上购物,消费者几乎能够顺利地完成每一笔订单。但在一些节日大促购物高峰的时候(比如双十一、双十二),由于消费者的购物行为激增,为了保护系统的稳定性(或者保证一致性),部分消费者可能会被引导到一个降级页面,“抢购人数众多,请稍后再试”。
什么是软状态?
我们在之前学习过硬状态,指的就是ACID的原子性。
硬状态只有在订单状态、积分发送成功、仓库出单成功,即三者同时成功的情况才算支付成功。
软状态不需要完全符合ACID的原子性先把订单状态改成已支付成功,然后告诉用户已经成功了剩下在异步发送mq消息通知积分服务和仓库服务即使消费失败,MQ消息也会重新发送(重试)。
最终一致性
最终一致性强调的是系统中所有的数据副本,在经过一段时间的同步后,最终能够达到一个一致的状态。
【如果文字看累了,可b站搜索“沙皮狗2021”,用听的方式领略知识的魅力】
本文摘自 :https://blog.51cto.com/u