当前位置: 首页 > news >正文

CAP概念和三种情况、Redis和分布式事务的权衡

借鉴:https://cloud.tencent.com/developer/article/1840206
https://www.cnblogs.com/huanghuanghui/p/9592016.html
在这里插入图片描述

一:CAP概念和三种情况

1.概念:
C全称Consistency(一致性):这个表示所有节点返回的数据是一致的。

A全称Availability(可用性):每一个非故障节点,都能够对每一个请求做出响应。说白了就是某个节点坏了,不能影响其他的节点业务。

P全称Partition tolerance(分区容错性):当系统中有节点因网络原因无法通信时,系统依然可以继续运行。(即集群)

2.三种情况
2.1 AP场景:更新操作主Mysql成功了,就返回成功
在这里插入图片描述

写请求把用户姓名【张三】改为【李四】,写请求写入主Mysql成功后,系统就直接返回成功;然后再通过主Mysql的binlog日志方式把数据同步到从Mysql。
这种方式其实是放弃了数据一致性。因为如果出现网络延迟,数据没有及时同步到从Mysql,那就导致了主Mysql值为李四,而从Mysql值为张三,导致数据不一致。但主从mysql照样可以提供服务,也就是保证了可用性A。

2.2 CP场景:更新操作主从mysql都成功了,才返回成功
在这里插入图片描述

写请求把用户姓名【张三】改为【李四】,写请求一定要等到主从mysql都写入成功了,系统才能成功返回。
这种方式保证了数据一致性,因为主从mysql更新数据都成功才算成功,但网络出现问题时,主mysql无法访问从节点,导致写操作一直不成功。其实就是放弃了可用性,只满足CP原则,系统只能提供读服务。

综合来看,再满足P的前提下,是不可能同时满足C和A的。

2.3 CA场景: 单点集群,满足一致性,可用性的系统,通常在可扩展性上不强大。

分布式:不同的多台服务器上面部署不同的服务模块(工程),他们之间通过Rpc/Rmi之间通信和调用,对外提供服务和组内协作。
集群:不同的多台服务器上面部署相同的服务模块,通过分布式调度软件进行统一的调度,对外提供服务和访问。

二:Redis和分布式事务的权衡

1、Redis中间件 ----> AP
2、RocketMQ中间件 -----> AP
3、分布式事务-2pc ----> CP
4、分布式事务-最大努力尝试 —> AP
5、Eureka —> AP
6.Mysql三种主从复制下:
异步 AP
同步 CP
半同步 AP

http://www.lryc.cn/news/250156.html

相关文章:

  • npm pnpm yarn(包管理器)的安装及镜像切换
  • Javase | Java工具类、(SSM)各种依赖的作用
  • 深入探究Python中的JSON、Pickle和Shelve模块:特性与区别
  • 文心大模型3.5 VS ChatGPT3.5,谁更会写代码 ?
  • 【网络安全】用永恒之蓝(Eternal blue)测试windows系统的安全性
  • 对于Web标准以及W3C的理解、对viewport的理解、xhtml和html有什么区别?
  • 大语言模型概述(一):基于亚马逊云科技的研究分析与实践
  • LuatOS-SOC接口文档(air780E)--repl - “读取-求值-输出” 循环
  • SpringBoot项目打成jar包后,上传的静态资源(图片等)如何存储和访问
  • Selenium Grid
  • ubuntu系统下搭建本地物联网mqtt服务器的步骤
  • 计算机二级考试题库(答案)
  • React Native 源码分析(五)—— Fabric创建View的过程
  • 为什么同样的C代码在arm64-v8a可以跑,在armeabi-v7a会奔溃?
  • C++初学者线路图 23年12月
  • Day37| Leetcode 738. 单调递增的数字
  • 【工具分享】| 阅读论文神器 使用技巧 AI润色 AI翻译
  • String.prototype.match进行==判断
  • less 笔记
  • Java中的异常你了解多少?
  • 查找算法及哈希表
  • ELK分布式日志管理平台部署
  • 四、虚拟机网络配置
  • 四、Lua循环
  • 生成对抗网络(GAN)手写数字生成
  • LeetCode Hot100 31.下一个排列
  • Redis主从与哨兵架构详解
  • Linux:docker的数据管理(6)
  • 深入理解Zookeeper系列-1.初识Zoookeeper
  • 芯片技术探索:了解构芯片的设计与制造之旅