简单谈谈 分布式基础理论 CAP、BASE、酸碱平衡

CAP 理论

在一个分布式系统中,最多只能同时满足 一致性(C)、可用性(A) 和分区容错(P)三项中的两项。

在CAP理论中,有且只可能有两种情况,分别是CP和AP

比如说在一个mysql主从集群,在初始的时候,master和slave中的数据是一致的。

如果主从同步配置是异步复制,那么修改不会马上同步到slave中,如果这个时候有一个读请求达到slave,那么将返回旧数据。

在这个情况下,只能保证可用性,不能保证一致性。

如果要求一致性,那么需要将同步方式配置成同步,在这种情况下,在同步的时候,会降低可用性。

所以,在分布式系统中,只可能存在CP和AP,不可能是CA。

BASE 理论

Base 是 由 基本可用(Basically Available)、软状态(soft state)、和最终一致性(Eventually consistent)三个单词组成。

由于在CAP理论中,CA不可能同时达成,通过加入软状态,然后将一致性妥协成最终一致性,将可用性妥协成基本可用,最终让可用性和一致性可以同时达成。

比如下单场景,在下单的时候,需要去进行支付,由于支付的流程不是同步完成的,因此,在这个过程中,引入一个【支付中】状态,这个状态就是软状态。

最终收到第三方的回调,完成支付,将状态修改为支付完成。

这样支付过程中系统是可用的,同时一致性也可以得到保障

酸碱平衡 理论

酸碱平衡理论就是ACID和BASE理论之间的平衡关系,酸就是ACID,代表强一致;碱就是BASE,可以牺牲一定的一致性来换取系统的高可用。

在一个系统中,需要根据实际情况,来判断是需要强一致,还是可以牺牲一致性来提高可用性。

比如说,在一个交易系统中,A账户的出账和B账户的入账,是需要高一致的,但是交易完成后的通知是可以牺牲一致性来提高可用性。

相关推荐
vx-Biye_Design4 小时前
SSM伴侣动物伴护星小程序06330-计算机课程设计、毕业设计
spring boot·后端·elasticsearch·小程序·架构·课程设计·idea
X54先生(人文科技)7 小时前
ELR-SELLM Edge 神经元网络架构评估报告
人工智能·深度学习·架构·开源
IT大白鼠8 小时前
MySQL 分布式集群系列 · 第四篇——实操部署指南:从零搭建生产级 MySQL NDB 集群
数据库·分布式·mysql
IT大白鼠8 小时前
MySQL 分布式集群系列 · 第三篇——核心原理精讲:NDB 自动分片、多主写入与数据同步
数据库·分布式·mysql
小陈不好吃8 小时前
从单体到微服务:Spring Cloud Gateway 动态路由实战与踩坑记录
微服务·云原生·架构
混凝土拌意大利面9 小时前
基于MQ(消息队列)的RPC框架
架构
小艾.pino10 小时前
MiniMax M3顶住新一代多模态大模型的架构与实战
人工智能·架构
IT小白杨11 小时前
多店铺防关联指纹浏览器哪个好:从账号关联判定模型到环境隔离架构的一次拆解
经验分享·物联网·矩阵·架构·指纹浏览器
223糖11 小时前
思考 AI 应用架构
人工智能·架构
Dawson Zhu12 小时前
从理论到工程化:构建可靠Agent系统的六大核心工件与实战指南
人工智能·语言模型·架构·aigc·agi