当前位置:首页 > IT技术 > Web编程 > 正文

网站高可用架构之BASE原理
2021-12-13 17:44:20

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