网站首页 > 编程文章 正文
CAP
分布式系统中,这三个特性只能满足其中两个。
一致性(Consistency)
分布式中一致性又分强一致性和弱一致性,强一致性主浊任何时刻任何节点看到的数据都是一样的,弱一致性一* * 般实现的是最终一致性。
可用性(Availability)
集群在任何时间内都正常使用
分区容错性(Partition Tolerance)
某一部分集群坏掉,另一部分仍能正常工作。
对于二选一模型
- CA模型,在分布式系统中不存在,因为舍弃P,意味着放弃分布式系统。比如单机版本的MySQL,如果MySQL考虑主备或集群部署时,它必须考虑P
- CP模型,舍弃了可用性,一定会读取到最新的数据,不会读取到旧数据。一是因为消息丢失、延迟过高发生了网络分区,就影响用户的体验和业务的可用性。例如Etcd,Consul和Hbase
- AP模型,舍弃了一致性,实现了服务的高可用。用户访问系统的时候,都能得到响应数据,不会出现响应错误,但会读到旧数据。比如Cassandra 和 DynamoDB。
ACID
一致性强,但是伸缩性差
原子性(Atomicity)
要么全部完成,要么全部失败
一致性(Consistency)
事务开始和完成时,数据必须保持一致的状态,数据库的完整性约束没有被破坏。比如A给B转账,不论转账事务是否成功,两者存款的总额不变
隔离性(Isolation)
多个事务并发访问时,事务之间是隔离的,一个事务不能影响到其他事务的结果 ,不能看到其他事务运行时中间某个时刻的数据。
持久性(Durability)
事务完成后,该事务对数据库所作的更改便持久地保存在数据库中,并不会被回滚
关于二阶段提交协议
- 二阶段提交。
分成提交请求阶段(投票阶段)和提交执行阶段(完成阶段)。
第一个阶段,每个参与者投票表决事务是放弃还是提交
第二个阶段,事务的每个参与者都执行最终统一的决定
BASE
一致性弱,伸缩性强
基本可用(Basic Availability)
分布式系统出现故障时,允许损失部分可用性,保证核心可用。
软状态(Soft-state)
允许系统存在中间状态,而该中间状态不会影响系统整体可用性。分布式存储中一般一份数据至少会有3个副本,允许不同节点间副本同步的延时就是软状态的体现。
最终一致性((Eventual Consistency)
指所有副本经过一定时间后,最终能达到一致的状态
ACID:大家在买同一本书的过程中,每个用户的购买请求都把库存锁住,等减完库存,把锁释放,后续的人才能进行购买。于是我们同是时间不可能有多个用户下单,订单流程要有排队的情况,这样就不能做出性能比较高的系统来
BASE:大家可以同时下单,这个时间不需要真正的去分配库存,然后系统异步地处理订单,而且是批量的处理。因为下单的时候没有扣减库存,所以有可能会有超卖的情况。而后台的系统在处理订单时,发现库没有了,才会告诉用户你没有购买成功。
BASE和ACID代表两种截然相反的设计理念,ACID注重一致性,是传统关系型数据库(MySQL)的设计思路,BASE关注高可用,大多数分布式事务适合BASE.
猜你喜欢
- 2025-03-19 缺陷检测自动化!基于CCD-YOLOv5算法的铸件表面缺陷检测模型
- 2025-03-19 高一物理:相似三角形模型(物理中相似三角形应用条件)
- 2025-03-19 小树几何模型之鸟头模型,也叫共角定理,学霸都会,赶紧收藏起来
- 2025-03-19 九下:米勒问题---张角最大问题(米勒角数学)
- 2025-03-19 乳腺癌棘手的PIK3CA基因突变怎么办?三联药物给出了答案!
- 2025-03-19 2025中考数学 | 几何模型专题:全等模型---角平分线模型
- 2025-03-19 已知AD=BC,红色角度数=?(如下图所示已知ad=ac=bc=cd求角b的度数)
- 2025-03-19 中考专题之《中点模型》(中考数学中点模型)
- 2025-03-19 动态平衡中晒衣服模型(动态平衡中晒衣服模型的作用)
- 2025-03-19 解题策略之特殊角的妙用——“12345模型”
你 发表评论:
欢迎- 最近发表
-
- 90岁老人科目三一把过火爆网络!考驾照、爱美甲……这群“90后”比年轻人潮
- DNF:遗忘之地任务流程,适用于新手起小号,装备修理白漂
- dnf手游:“首款流拍宝珠”,6位玩家眼睁睁看着500万泰拉丢失!
- dnf手游:小熊卡正式升级!可附魔到工会勋章,千万别卖!
- dnf手游:首张“涨抗魔”粉卡火了!以前3万没人要现在准备断货!
- dnf手游:团本币增加!3月26号打团有坑提前避开,浪费门票?
- dnf手游:涨价20倍!曾经没人要的,如今已是妥妥的T0材料!
- dnf手游:“官方鼓励回归”火了,白送玩家+20装备和王子卡等!
- dnf手游:无根之源千万别用!竞拍系统一定要抢否则错过崛起机会
- dnf手游:DNF手游各职业技能加点攻略、装备推荐!小白一看就会
- 标签列表
-
- spire.doc (70)
- instanceclient (62)
- solidworks (78)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)