什么是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取了一个中间。

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

相关推荐
橘子编程3 小时前
OpenClaw(小龙虾)完整知识汇总
java·前端·spring boot·spring·spring cloud·html5
weixin_456321647 小时前
生产环境下微服务网关选型与实战指南(基于SpringCloud生态)
java·spring cloud
黎明丶之前8 小时前
Spring Cloud Gateway 升级与 Bucket4j 限流实践
java·spring cloud
2501_921649499 小时前
从WebSocket到SQL查询:金融数据落库存储及查询接口全流程开发
java·sql·websocket·程序人生·spring cloud·金融·系统架构
梵得儿SHI10 小时前
SpringCloud 秒杀系统生产级落地:Sentinel+Redis 联合优化,从限流防刷到库存闭环,彻底解决超卖 / 宕机 / 恶意刷
redis·spring cloud·sentinel·分布式限流·百万级·瞬时高并发·产级秒杀系统解决方案
语戚10 小时前
Nginx vs Ribbon:负载均衡的两种核心范式(反向代理 vs 客户端负载)
java·nginx·spring·spring cloud·面试·ribbon·负载均衡
zwqwyq1 天前
springboot与springcloud对应版本
java·spring boot·spring cloud
€8111 天前
Java入门级教程29——Spring Cloud:Eureka 注册发现 + MySQL 数据交互 + 负载均衡
java·开发语言·mysql·spring cloud·eureka·负载均衡
无名-CODING2 天前
Java 爬虫零基础入门:从 HTTP 到 Jsoup 实战
spring cloud·gateway·sentinel
无名-CODING2 天前
小白初识 SpringCloud:微服务基础与 SpringCloud 核心作用
spring·spring cloud·微服务