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 ...
随机推荐
- seo搜索优化教程13-SEO搜索引擎站点收录
为了使大家更方便的了解及学习网络营销推广.seo搜索优化,星辉科技强势推出seo搜索优化教程.此为seo教程第13课 想要用户能够在搜索引擎中通过关键词搜索到您的页面信息,首先要做的是让搜索引擎收录您 ...
- 【Java实用工具】——使用oshi获取主机信息
最近在筹划做一个监控系统.其中就要获取主机信息,其中遇到一些问题.在此做个记录,以便以后查阅. 在该监控系统中,想要做到主机的CPU.内存.磁盘.网络.线程.JVM内存.JVM GC 等维度的监控,J ...
- 强大的Flutter App升级功能
注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 应用程序升级功能是App的基础功能之一,如果没有此功能会造 ...
- go源码分析(五) 获取函数名和调用者的函数名
参考资料 实现代码保存在我的github // input flag 1:FunName 2:CallerFunName func GetFuncName(flag int) string { ...
- 使用express+shell在服务器上搭建一套简单的前端部署系统
前言 个人项目越来越多,部署需要频繁操作服务器,所以手动搭建一套简单的部署系统. 效果如图 其中包含 原生html+css+js项目,单页面react, vue, angular项目,实现了一键打包发 ...
- SpringCloud微服务:Sentinel哨兵组件,管理服务限流和降级
源码地址:GitHub·点这里||GitEE·点这里 一.基本简介 1.概念描述 Sentinel 以流量为切入点,从流量控制.熔断降级.系统负载保护等多个维度保护服务的稳定性.包括核心的独立类库,监 ...
- Socket编程简介
目录 背景 基础 流程 参考 本文系读书笔记,非深入研究,也无代码,如非所需,请见谅. 哦,这里有份不错的:Linux的SOCKET编程详解 背景 花了好久的时间(大约一周,我太垃圾)看完了一篇英文文 ...
- Fluent算例精选|02瞬态滑移网格分析叶轮机械内部流动
本算例使用的软件:fluent.icem 通过学习本算例您将获得? 1.学会周期区域创建 2.学会瞬态求解器及滑移网格边界条件设置 3.学会周期面.滑移面设置 4.学会如何监测压力脉动(声学仿真) 5 ...
- C# Linq方式生成SAP对接的XML格式内容(一般处理程序 ashx )
Linq生成XML的方法: string CreateXML(string strkey, string strDATAJSON) { XDeclaration dec = new XDeclarat ...
- Splunk 基本使用
Splunk 作为大数据搜索处理软件,作为行业的翘楚,绝对值得探索和学习,Splunk能实时对任何应用程序.服务器或者网络设备的数据和数据源进行搜索和索引,包括任何位置的日志.配置文件.信息.陷阱和预 ...