简单谈谈 分布式基础理论 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账户的入账,是需要高一致的,但是交易完成后的通知是可以牺牲一致性来提高可用性。

相关推荐
q5673152334 分钟前
IBM官网新闻爬虫代码示例
开发语言·分布式·爬虫
不爱学英文的码字机器1 小时前
数据网格的革命:从集中式到分布式的数据管理新范式
分布式
season_zhu1 小时前
Swift:优雅又强大的语法糖——Then库
ios·架构·swift
hstar95272 小时前
二、即时通讯系统设计经验
java·架构
江梦寻2 小时前
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
开发语言·后端·python·macos·架构·策略模式
优秀的颜4 小时前
计算机基础知识(第五篇)
java·开发语言·分布式
打码人的日常分享10 小时前
物联网智慧医院建设方案(PPT)
大数据·物联网·架构·流程图·智慧城市·制造
白水baishui11 小时前
搭建强化推荐的决策服务架构
架构·推荐系统·强化学习·决策服务·服务架构
何双新11 小时前
第23讲、Odoo18 邮件系统整体架构
ai·架构
雪碧聊技术11 小时前
将单体架构项目拆分成微服务时的两种工程结构
微服务·架构·module·project·工程结构