简述CAP理论,BASE理论

简介: 简述CAP理论,BASE理论

CAP(consistency,availability,partition-tolerance)


  • 数据一致性(consistency):如果系统对一个写操作返回成功,那么之后的读请求都必须读到这个新数据;如果返回失败,那么所有读操作都不能读到这个数据,对调用者而言数据具有强一致性(strong consistency)


  • 服务可用性(availability):所有读写请求在一定时间内得到响应,成功,错误,超时,不会一直等待
  • 分区容错性(partition-tolerance):在网络分区的情况下,被分隔的节点仍能正常对外服务


如果选择了 CA 而放弃了 P,那么当发生分区现象时,为了保证 C,系统需要禁止写入,当有写入请求时,系统返回 error(例如,当前系统不允许写入),这又和 A 冲突了,因为 A 要求返回 no error 和no timeout。因此,分布式系统理论上不可能选择 CA 架构,只能选择 CP 或者 AP 架构。

BASE理论(Basically Available,Soft State,Eventually Consistent)


BASE理论是CAP理论的一种妥协,由于CAP只能二取其一(因为必须保证P),BASE理论降低了发生分区容错时对可用性和一致性的要求


基本可用(Basically Available,):允许可用性降低(可能响应延长、可能服务降级),

软状态(Soft State):指允许系统中的数据存在中间状态,并认为该中间状态不会影响系统整体可用性。

最终一致性(Eventually Consistent):节点数据同步可以存在时延,但在一定的期限后必须达成数据的一致,状态变为最终状态


服务降级:比如一个网页有图片+描述,如果服务降级,那么先把最重要的描述信息发送给client,图片再慢慢传,这就是服务降级


目录
相关文章
|
开发框架 JavaScript 前端开发
Vue低代码 -- 走进低代码
Vue低代码 -- 走进低代码
554 0
|
机器学习/深度学习 存储 开发工具
【ChatGLM】手把手教你云服务器部署ChatGLM聊天网站,不限次数调用。
【ChatGLM】手把手教你云服务器部署ChatGLM聊天网站,不限次数调用。
|
存储 分布式计算 监控
深入浅出 HBase 实战 | 青训营笔记
Hbase是一种NoSQL数据库,这意味着它不像传统的RDBMS数据库那样支持SQL作为查询语言。Hbase是一种分布式存储的数据库,技术上来讲,它更像是分布式存储而不是分布式数据库,它缺少很多RDBMS系统的特性,比如列类型,辅助索引,触发器,和高级查询语言等待。
1377 0
深入浅出 HBase 实战 | 青训营笔记
|
5月前
|
JSON API 数据格式
淘宝天猫商品列表API接口(附代码示例)
淘宝天猫商品列表API接口是获取淘宝/天猫商品数据的工具,支持按关键词、价格区间、销量等条件筛选商品,返回商品标题、价格、销量等基本信息,适用于商品分析与竞品调研。使用时需注册开发者账号并调用HTTP GET/POST请求,响应数据为JSON格式。示例代码展示了如何用Python发送请求并处理返回数据。
190 18
|
移动开发 JavaScript 前端开发
【Vue面试题二十二】、什么是虚拟DOM?如何实现一个虚拟DOM?说说你的思路
这篇文章深入探讨了虚拟DOM的概念、必要性以及在Vue中的实现方式,解释了虚拟DOM如何作为真实DOM的轻量级抽象,通过优化DOM操作提高性能,并实现跨平台渲染的能力。
【Vue面试题二十二】、什么是虚拟DOM?如何实现一个虚拟DOM?说说你的思路
|
NoSQL Java Linux
springboot+redis+虚拟机 springboot连接linux虚拟机中的redis服务
该博客文章介绍了如何在Spring Boot项目中通过配置和代码实现连接运行在Linux虚拟机上的Redis服务,并提供了详细的步骤和测试结果截图。
springboot+redis+虚拟机 springboot连接linux虚拟机中的redis服务
|
机器学习/深度学习 存储 人工智能
生成式 AI 与 LangCHain(二)(3)
生成式 AI 与 LangCHain(二)
566 3
|
前端开发 JavaScript
一篇文章讲明白iframe分栏拖拽伸缩例子
一篇文章讲明白iframe分栏拖拽伸缩例子
227 0
|
算法 调度 数据安全/隐私保护
什么是CAS锁
什么是CAS锁
259 0
|
JSON 搜索推荐 API
使用API接口获取拼多多商品详情
随着电商行业的快速发展,越来越多的电商平台涌现出来,为消费者提供了丰富的商品选择。拼多多作为国内知名的电商平台之一,拥有庞大的商品库和优惠活动,吸引了大量的用户。本文将详细介绍如何通过调用API接口获取拼多多商品详情,帮助开发者快速实现拼多多商品信息的获取和展示。