博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Base理论
阅读量:3961 次
发布时间:2019-05-24

本文共 675 字,大约阅读时间需要 2 分钟。

什么是分布式BASE定理?

BASE是Basically Available(基本可用)Soft state(软状态)Eventually consistent(最终一致性)三个短语的缩写。

BASE理论是eBay架构师提出的。
BASE定理来源:是CAP中一致性和可用性的权衡结果,它来自大规模互联网分布式系统的总结,是基于CAP定理逐步演化而来的。
BASE定理的核心思想:即使无法做到强一致性,但是每个应用可以根据自身的业务特定,采用合适的方式来达到最终一致性。
在这里插入图片描述

一、BASE定理的基本可用性

损失相应时间:CAP可用性的服务相应时间可能是10ms,而BASE基本可用性的相应时间1-2s,即允许损失部分可用性的(时间上的损失)

损失系统功能:BASE的基本可用性是允许某个服务出现故障时,采用服务降级等手段保证用户的体验性,即允许损失部分系统功能。

二、BASE定理的软状态

我们在之前学习过硬状态,指的就是ACID的原子性。

比如你要购买东西,下订单,付款,减库存,这三部都成功了才会给用户返回下单成功

什么是软状态?不要完全符合ACID的原子性,即允许系统在不同节点间副本同步的时候存在延时,

先把订单状态改成已支付成功,然后告诉用户已经成功了
剩下在异步发送mq消息通知库存服务减库存
即使消费失败,MQ消息也会重新发送(重试)。

三、BASE定理的最终一致性

它和强一致性不一样,强一致性读操作要么处于阻塞状态,要么读到的是最新的数据

最终一致性通常是异步完成的,读到的数据刚开始可能是旧数据,但是过一段时间后读到的就是最新的数据

转载地址:http://uqhzi.baihongyu.com/

你可能感兴趣的文章
Asp.Net+Jquery.Ajax详解8-核心$.ajax
查看>>
项目中一个用于导出word的方法
查看>>
测试Jsp 静态包含和动态包含
查看>>
简析几种常用的Web监听
查看>>
Web应用过滤器Fileter
查看>>
代理模式(Proxy)
查看>>
采用动态代理对事务进行封装
查看>>
Hibernate性能优化
查看>>
Spring核心ioc
查看>>
SSH框架总结(框架分析+环境搭建+实例源码下载)
查看>>
Struts2+Spring3+Mybatis3开发环境搭建
查看>>
mongoDB入门必读(概念与实战并重)
查看>>
通俗易懂解剖jbpm4
查看>>
rsync
查看>>
makefile
查看>>
linux 文件权限
查看>>
一些比较好的golang安全项目
查看>>
HTTP状态码
查看>>
go语言
查看>>
mysql mariaDB 以及存储引擎
查看>>