分布式事务之BASE理论
分布式事务之BASE理论
- 1. 什么是BASE理论?
- 2. Basically Available(基本可用)
- 3. Soft state(软状态)
- 4. Eventually consistent(最终一致性)
1. 什么是BASE理论?
在分布式事务之CAP定理一文中,我们了解到了分布式事务不可能同时实现Consistency、Availability 和 Partition-tolerance。因此,我们退而求其次,在C和A中进行权衡,最终形成了我们的BASE理论:
- Basically Available(基本可用);
- Soft state(软状态);
- Eventually consistent(最终一致性);
BASE定理的核心思想:即使无法做到强一致性,但是每个应用可以根据自身的业务特定,采用合适的方式来达到最终一致性。
2. Basically Available(基本可用)
- 基本可用是指分布式系统在出现不可预知故障的时候,允许损失部分可用性。但是,这绝不等价于系统不可用。
- 损失相应时间:CAP可用性的服务相应时间可能是10ms,而BASE基本可用性的相应时间1-2s,即允许损失部分可用性(时间上的损失);
- 损失系统功能:BASE的基本可用性是允许某个服务出现故障时,采用服务降级等手段保证用户的体验性,即允许损失部分系统功能;
3. Soft state(软状态)
软状态指允许系统中的数据存在中间状态,并认为该中间状态的存在不会影响系统的整体可用性,即允许系统在不同节点的数据副本之间进行数据同步的过程存在延时。
4. Eventually consistent(最终一致性)
- 它和强一致性不一样,强一致性读操作要么处于阻塞状态,要么读到的是最新的数据;
- 最终一致性强调的是系统中所有的数据副本,在经过一段时间的同步后,最终能够达到一个一致的状态。因此,最终一致性的本质是需要系统保证最终数据能够达到一致,而不需要实时保证系统数据的强一致性。
分布式事务之BASE理论相关推荐
- 分布式事务的BASE理论
1.什么是事务 在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序 事务是恢复和并发控制的基本单位. 事务应该具有4个属性:原子性.一致性.隔离性.持久性.这四个属性通常称为ACI ...
- 分布式事务概念、理论、及(2PC、3PC)
一. 简介 1. 什么是本地事务? 基于关系型数据库的事务,叫做本地事务,也叫做数据库事务. 本地事务通常是应用和数据库在一个服务器上,利用数据库本身的事务特性,从而实现本地事务. 数据库事务的特性: ...
- cap理论具体含义_分布式事务的CAP理论
相关历史文章(阅读本文之前,您可能需要先看下之前的系列 ) 分布式事务「2020年」必学,升职加薪你准备好了吗? 事务的基本概念 事务的四大特性ACID 分布式事务产生的场景 前言 通过前面的学习,我 ...
- 10分钟了解分布式CAP、BASE理论
CAP理论 2000年7月,Eric Brewer教授提出CAP猜想:2年后,Seth Gilbert和Nancy Lynch从理论上证明了CAP:之后,CAP理论正式成为分布式计算领域的公认定理.C ...
- 分布式事务解决方案(总览)
关注私信,赠送 分布式事务学习视频资料!!! 总览 本系列针对分布式事务提出三种解决方案:可靠消息最终一致性.最大努力通知.TCC. 每种方案分为上下两篇,上篇为原理概述,下篇为具体实现. 本篇是对本 ...
- 分布式事务Seata
02.引入分布式事务-本地事务与分布式事务 1)本地事务 本地事务,也就是传统的单机事务.在传统数据库事务中,必须要满足四个原则: 目前常用的Spring的声明式事务,@Transtional 2)分 ...
- 分布式事务详解、理论分析、及强一致性(2PC、3PC)剖析
一. 简介 1. 什么是本地事务? 基于关系型数据库的事务,叫做本地事务,也叫做数据库事务. 本地事务通常是应用和数据库在一个服务器上,利用数据库本身的事务特性,从而实现本地事务. 数据库事务的特性: ...
- 分布式事务篇——第一章:分布式事务前言
做开发的同学,在一般的互联网公司会很少接触到分布式,甚至本地事务都不一定经常用,全是靠DB来做支持,或者通过Mybatis,一旦接触到分布式,就一定离不开核心点--分布式事务,本章就来唠唠看大厂这些分 ...
- 基于可靠消息方案的分布式事务:Lottor介绍
前言:笔者最近实现了基于可靠消息方案的分布式事务:Lottor.本文将会介绍Lottor的概况,在后续系列文章介绍具体的实现,欢迎关注. 分布式事务 分布式事务是指事务的参与者.支持事务的服务器.资源 ...
最新文章
- 湖南工业大学java试卷_湖南工业大学数控加工技术试卷.doc
- python fuzzy c-means demo
- Delphi xe7 android实现透明度可以调整的对话框
- iOS经典面试题总结--内存管理
- FZU-2218 Simple String Problem(状态压缩DP)
- 从windows上传到linux服务器的php图片生成不了,windows10上用thinkphp5开发程序上传服务器后出现图片异常的问题...
- 浅谈 G1 GC 日志格式
- AIX 命令 more
- 前端笔试之手写代码(一)
- 软件工程导论 02章可行性研究
- powershell ise好字库和diy配色文件分享
- 键盘模拟文件尾EOF
- 试用SVO_edgelet
- x570支持Linux系统吗,苹果中国官网调整:Mac Pro正式支持选配AMD W5500X显卡
- python变成exe1023无标题_GitHub - Qing1023/Python-100-Days: Python - 100天从新手到大师
- 【西瓜创客】2022学年5月21日NOC大赛-初赛线上试题
- 微信中下载app无反应 微信浏览器无法apk下载链接方案
- kali_上传_腾讯云_搭建kali
- Failed at the react-admin_client@0.1.0 start script、react-app-rewired : command not found
- 微信公众号/订阅号开通留言功能
热门文章
- oracle查询语句中select from where group by having order by的解释与应用
- 【一篇无聊的影评】吐槽《从你的全世界路过》
- 后氧传感器正常数据_氧传感器电压多少正常?氧传感器数据流分析介绍
- Win 7+CentOS 7双系统安装血泪史T_T
- 关于性别的一点经历和感想 [ 南方有嘉木 ]
- 学术期刊《中华全科医学》
- 郭炜:就算倒在离开源成功最近的五米,也要让下一代开源人坚定前行
- 基于Unity的软光栅实现(3):基于Job system的多核加速光栅化
- Linux基于bash命令实验报告,Linux操作系统实验报告1
- SecureCRT快速连接服务器