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

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

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • wpf prism 《1》、区域 、模块化
  • WPF中使用Echarts显示图表
  • zeppline如何配置用户登陆
  • Python使用zdppy_mysql操作MySQL和MariaDB数据库快速入门教程
  • PE文件结构详解(非常详细)
  • 【Leetcode:2024. 考试的最大困扰度 + 滑动窗口】
  • [易聊]软件项目测试报告
  • Java 面向对象编程的四个基本原则(封装、继承、多态和抽象),并给出一个简单的例子说明如何在 Java 中应用这些原则?
  • Postman中参数填写方式
  • FaceFormer嘴形同步论文复现
  • Web开发
  • 使用Python+docx+jieba+wordcloud给word文档生成词云图
  • Java18 设计模式
  • vue2.0+ts中默认demo组件
  • ubuntu 安装opencv(3.4.16)
  • 2019.2.20 c++ 知识梳理
  • Angular Elements 及其运作原理
  • ESLint简单操作
  • Hibernate最全面试题
  • Javascript Math对象和Date对象常用方法详解
  • javascript 哈希表
  • Java到底能干嘛?
  • 仿天猫超市收藏抛物线动画工具库
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 通过npm或yarn自动生成vue组件
  • 通信类
  • 用Canvas画一棵二叉树
  • 正则表达式-基础知识Review
  • # 利刃出鞘_Tomcat 核心原理解析(八)-- Tomcat 集群
  • #微信小程序:微信小程序常见的配置传值
  • $.proxy和$.extend
  • (2024)docker-compose实战 (8)部署LAMP项目(最终版)
  • (55)MOS管专题--->(10)MOS管的封装
  • (windows2012共享文件夹和防火墙设置
  • (二) 初入MySQL 【数据库管理】
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (九十四)函数和二维数组
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .NET Core 版本不支持的问题
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET IoC 容器(三)Autofac
  • .Net 路由处理厉害了
  • .NET/C# 的字符串暂存池
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .NET开源项目介绍及资源推荐:数据持久层
  • @component注解的分类
  • [ 云计算 | AWS 实践 ] 基于 Amazon S3 协议搭建个人云存储服务
  • [100天算法】-x 的平方根(day 61)
  • [12] 使用 CUDA 进行图像处理
  • [20190113]四校联考