什么是CAP理论和BASE思想?

CAP定理

分布式系统的三个指标:

C(一致性)

A(可用性)

P(分区容错性)

Eric Brewer说,分布式系统无法同时满足CAP三个指标,这个结论就叫做CAP定理。

Consitency

用户访问分布式系统中的任意节点,得到的数据必须是一致的

Availability

用户访问分布式系统时,读或写操作总能成功;只能读不能写,或只能写不能读,或两者都不能执行,说明系统弱可用或不可用。

Partition tolerance(一定会有的):

Partition(分区):因为网络故障或其他原因导致分布式系统中的部分节点与其他节点失去连接,形成独立分区。

Tolerance(容错):系统要能容忍网络分区现象,出现分区时,整个系统也要持续对外提供服务

分析

如下图:

要保证一致性:出现了网络分区,node3无法和node1和node2同步,如果现在去写数据就会出现有的节点改了有的节点没有改的情况,所以要保证一致性,就只允许读,不允许写,满足所有节点一致性,但是牺牲了可用性,符合CP。

要保证可用性:此时允许任意读写,满足了可用性,但由于node3无法同步,导致数据不一致,牺牲了一致性,符合AP。

BASE理论

BASE理论是对CAP的一种解决思路,保护三个思想:

其实就是C和A取了一个中间。

在分布式事务中解决方案中的应用

相关推荐
Thomas.Sir1 小时前
第19课:Gateway过滤器、全局拦截、请求响应统一处理
spring cloud·gateway
Wang's Blog1 天前
Java框架 SpringCloud 快速入门: Nacos 配置热更新
java·spring·spring cloud
天空鸟_时光不老1 天前
06-给AI流程加一道人工闸门
java·人工智能·spring boot·后端·spring·spring cloud·架构
Wang's Blog1 天前
Java框架 SpringCloud 快速入门: Nacos 配置管理之添加配置与 dataId 命名规范
java·开发语言·spring cloud
天空鸟_时光不老1 天前
01-我不转Python把AI塞进Java里
java·人工智能·spring boot·后端·spring·spring cloud·架构
2501_933923251 天前
SpringCloud:通过订单服务认识什么是微服务
spring boot·后端·spring cloud
天空鸟_时光不老1 天前
07-检查点与状态持久化
java·人工智能·spring boot·spring·spring cloud·kafka·maven
天空鸟_时光不老1 天前
09-RAG问答系统落地:从默认分割器的坑到Milvus召回调优
java·人工智能·spring boot·spring·spring cloud·maven·mybatis
Thomas.Sir1 天前
第18课:Gateway路由规则、内置谓词、自定义谓词实战
spring cloud·gateway
Wang's Blog1 天前
Java框架 SpringCloud 快速入门: Ribbon 饥饿加载
java·spring cloud·ribbon