CAP定理和BASE理论
CAP定理和BASE理论
标签(空格分隔): 操作系统
CAP定理
CAP定理: 一个分布式系统最多只能满足一致性 (Consistency), 可用性(Availability)和分区容错性(Partition tolerance)其中的两种.
一致性(Consistency)
- all nodes see the same data at the same time.
可用性(Availability)
- Reads and writes always succeed .
分区容错性(Partition tolerance)
- the system continues to operate despite arbitrary message loss or failure of part of the system .
CAP权衡
分区容错性: 项目属于分布式项目所以分区容错性是必须要用的, 即使每个服务的可用性是99.999% 但是在服务众多的情况下, 系统整体可用性也会有很大的下降 , 所以保持分区容错性 P 是非常重要的.
一致性: 银行类这些对于信息准确性不能有一丝让步的分布式项目 必须实现一致性. 相对于分区容错性和可用性来说, 一致性的地位要大大高于其二.
可用性, 对于除了银行这一类企业来说, 高可用性更加重要, 只要能够保证BASE中的最终一致性 就可以牺牲掉 强一致性来 获得更稳定的服务提供, 这样即使可能会降低一部分的用户体验, 但是不会造成用户流失这样严重的情况.
BASE理论
BASE理论是对CAP理论的延伸,核心思想是即使无法做到强一致性, 但应用可以采用合适的方式做到最终一致性.
基本可用(Basically Available)
基本可用是指分布式系统在在出现故障的时候, 可以损失一部分的可用性, 但是要保证核心功能可用 .
电商大促销的时候, 为了应对访问量激增, 部分用户可能会被引导到降级页面, 服务层可能只提供降级服务 , 这就是损失部分可用性的体现 . —— 貌似前些年的时候双十一逛淘宝的时候 有人遇到这种服务降低的情况.
软状态(Soft State)
软状态是指允许系统存在中间状态, 而该中间状态不会影响系统整体的可用性. 分布式存储中一般一份数据至少会有三个副本, 允许不同节点间副本同步的延迟及时软状态的体现, MySQL Replication的异步复制就是软状态的一种体现.
最终一致性(Eventual Consistency)
最终一致性是指系统中的所有数据副本经过一段时间后, 最终能够达到一致的状态. 弱一致性和强一致性相反 , 最终弱一致性是弱一致性的一种特殊情况.
ACID和BASE的区别和联系
ACID是传统数据库常用的设计理念, 追求强一致性模型. BASE支持的是大型分布式系统, 提出通过牺牲强一致性获得高可用性.
ACID和BASE代表了两种截然相反的设计哲学, 在分布式系统设计的场景中, 系统组件对一致性的要求是不同的, 因此ACID和BASE又会结合使用.
CAP定理和BASE理论的更多相关文章
- 分布式系统中的CAP原理和BASE理论
CAP是一致性(Consistency).可用性(Availability).分区容忍性(Partition tolerance)的缩写.CAP原理指的是这三个要素最多只能同时实现两点,不可能三者兼顾 ...
- Redis-CAP定理和BASE理论(二)
CAP理论概述 1998 年来自柏克莱加州大学的计算机科学家 埃里克.布鲁尔(Eric Brewer) 提出分布式系统的三个基本指标:Consistency(一致性).Availability(可用性 ...
- CAP原理和BASE理论
CAP原理 概述 CAP理论的主要场景是在分布式环境下,在单机环境下,基本可不考虑CAP问题. CAP理论就是说在分布式存储系统中,最多只能实现上面的两点.而由于当前的网络硬件肯定会出现延迟丢包等问题 ...
- CAP定理与BASE理论
1. CAP定理 C:Consistency,一致性 A:Availability,可用性 P:Partition tolerance,分区容错性 CAP定理,指的是在一个分布式系统中,一致性.可用性 ...
- CAP原则、BASE理论
CAP原则.BASE理论 2017-12-15 目录 1 CAP原则 1.1 CAP原则是什么 1.2 CAP为何三者不可得兼 1.3 一致性与可用性的决择2 BASE理论 2.1 BASE理 ...
- CAP原理和BASE思想和ACID模型
问题的解读 对于上面三个例子,相信大家一定看出来了,我们的终端用户在使用不同的计算机产品时对于数据一致性的需求是不一样的: 1.有些系统,既要快速地响应用户,同时还要保证系统的数据对于任意客户端都是真 ...
- 【分布式】1、CAP原则(CAP定理)、BASE理论
CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性). Availability(可用性).Partition tolerance(分区容错性),三者不可得兼. CA ...
- CAP原则(CAP定理)、BASE理论
CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性). Availability(可用性).Partition tolerance(分区容错性),三者不可得兼. CA ...
- 关于分布式存储系统中-CAP原则(CAP定理)与BASE理论比较
CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性). Availability(可用性).Partition tolerance(分区容错性),三者不可得兼. CA ...
随机推荐
- sf-git机制
为什么要专门写一篇关于sf科技公司的GIT管理机制呢?因为本周经历了两天的学习和考试,刚开始没在意,因为之前公司也用的GIT,所以没怎么看视频,就看了文档,练习考试时候才发现并非以前的那种git流程, ...
- Simulink仿真入门到精通(十九) 总结回顾&自我练习
从2019年12月27到2020年2月12日,学习了Simulink仿真及代码生成技术入门到精通,历时17天. 学习的比较粗糙,有一些地方还没理解透彻,全书梳理总结: Simulink的基础模块已基本 ...
- Django中使用CORS实现跨域请求
跨域请求: 请求url包含协议.网址.端口,任何一种不同都是跨域请求. 1.安装cors模块 pip install django-cors-headers2.添加应用 INSTALLED_ ...
- frida(hook工具)的环境搭建
一.简介 frida 是一款基于 python+javascript 的 hook 框架,可运行在 android.ios.linux.win等各个平台,主要使用的动态二进制插桩技术. Frida官网 ...
- Spring Cloud - Nacos注册中心入门单机模式及集群模式
近几年微服务很火,Spring Cloud提供了为服务领域的一整套解决方案.其中Spring Cloud Alibaba是我们SpringCloud的一个子项目,是提供微服务开发的一站式解决方案. 包 ...
- C3p0连接池-Java(新手)
1 数据库连接池 C3p0 和 Druid 1.1 定义 : 本质上就是个容器(集合) 存放数据库连接的容器 当系统初始化以后 容器被创建 容器中就会申请一些连接对象 当用户来访问的数据库的时候 从容 ...
- python高阶函数&异常处理
高阶函数 1.什么是高阶函数 在Python中,变量可以指向函数 函数名也是变量 既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数. ma ...
- Swift 4.0 高级-自定义操作符
在Swift语言中,常见的操作符有+.-.*./.>.<.==.&&.||等等,如果不喜欢,你也可以定义自己喜欢的操作符. 操作符类型 中置运算符(infix operat ...
- VMWARE虚拟机安装系统提示CPU已被客户机操作系统禁用和secureCUT乱码
错误:VMWARE虚拟机安装系统提示CPU已被客户机操作系统禁用 改正:找到虚拟机的位置找到下图灰色的部分:打开 .vmx后缀的操作系统配置文件,加入以下代码: cpuid.1.eax = :: 2. ...
- Python-时间戳、元组时间的格式、自定义时间格式之间的转换
一.时间戳.元组时间的格式.自定义时间格式之间的转换 1.下面是三者之间的转换关系: 2.代码如下: import time import datetime print(time.time()) #获 ...