CAP定理的含义

目录

定理解读

如何抉择


1998年,加州大学的计算机科学家 Eric Brewer 提出了分布式系统的三个指标:

C:Consistency,一致性。在分布式系统中的所有数据备份,在同一时刻具有同样的值,所有节点在同一时刻读取的数据都是最新的数据副本(all nodes see the same data at the same time)。

A:Availability ,可用性,好的响应性能。完全的可用性指的是在任何故障模型下,服务都会在有限的时间内处理完成并进行响应(Reads and writes always succeed)。

P:Partition Tolerance ,分区容错性,即分布式系统在遇到某些节点或网络分区故障的时候,仍然能够对外提供满足一致性或可用性的服务。分区容错性要求一个分布式系统中有某一个或者几个节点故障时,其他剩下的节点还能够正常运转并对外提供服务,对于用户而言并没有什么体验上的影响。

Eric Brewer 指出任何分布式系统只可同时满足CAP三个指标中的两个,无法三者兼顾,这个结论就叫做 CAP 定理。

定理解读

分布式的服务化系统都需要满足分区容忍性,那么我们必须在一致性(C)和可用性(A)之间进行权衡。在网络分区故障发生时,两个分布式节点之间无法进行通信,那么我们对一个节点进行的修改操作将无法同步到另外一个节点,所以数据的一致性(C)将无法满足,因为两个分布式节点的数据不再保持一致。除非我们牺牲可用性(A),也就是在网络分区故障发生时,暂停分布式系统对外提供修改数据服务,直到网络状况完全恢复正常再继续对外提供修改数据服务。

CP满足的情况下,A不能满足的原因:

若要满足一致性(C)就需要在多个分布式节点之间进行数据同步,在数据同步完成之前整个系统都将不可用。节点数量越多分区容错性(P)越好,同时数据同步所耗费的时间自然也就越长,从而无法在有限的时间内完成请求响应,导致可用性(A)不能满足。

CA满足的情况下,P不能满足的原因:

若要满足一致性(C)就需要在多个分布式节点之间进行数据同步,在数据同步完成之前整个系统都将不可用。需同步的节点数量越多,数据同步所需耗费的时间越长,可用性(A)也越差。若要同时保证可用性(A),那么需同步的节点数量就需要尽量减少,从而导致分区容错性(P)无法满足。

AP满足的情况下,C不能满足的原因:

节点的数量越多,分区容错性(P)越好,节点间数据同步所需耗费的时间越长,若要在有限的时间内完成请求响应即保证可用性(A),那么数据就可能不能及时地同步到其他节点,从而无法保证节点间的数据一致性(C)。

如何抉择

对于现如今大多数的互联网应用场景,都倾向于采用分布式微服务架构,它们通常节点众多、部署相对分散,随着集群规模变得越来越大,节点故障、网络故障已是常态。

在这种情况下,对于那些对数据一致性(C)要求不高的场景,例如电商系统,我们只需要保证分区容错性(P)和可用性(A),对于数据一致性(C)退而求其次仅保证数据的最终一致性即可。这虽然会某些地方影响客户体验,但并不会达到造成用户流失的严重程度。

对于像银行系统这类对数据一致性(C)要求较高的场景,数据一致性(C)必须保证。网络发生故障宁可停止服务(或者只读不写),这是保证分区容错性(P)和数据一致性(C),舍弃可用性(A)。

目前比较主流的注册中心有 Zookeeper、Eureka、Consul、Etcd 等,以Zookeeper 和Eureka为例, 在进行注册中心选择时,CAP又该如何抉择呢?

Zookeeper:CP设计,保证了一致性,集群搭建的时候,某个节点失效,则会进行选举新的Leader,或者半数以上节点不可用,则无法提供服务,因此可用性(A)没法满足。

Eureka:AP设计,无主从节点,一个节点挂了,自动切换其他节点继续使用,去中心化,但数据一致性(C)不满足。

在分布式系统中分区容错性(P)肯定要满足,所以只能在CA中二选一, 没有最好的选择,只有更适合的,我们需要根据自己的业务场景来进行架构设计:

  • 如果要求一致性,则选择 Zookeeper,如金融行业

  • 如果要求可用性,则选择 Eureka,如电商系统

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/41261.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正弦定理

正弦定理(The Law of Sines)是三角学中的一个基本定理。 定理定义 在任意 中,角A、B、C所对的边长分别为a、b、c,三角形外接园的半径为 R,直径为 D。则有:。即,一个三角形中,各边…

散度定理(Divergence Theorem)

35.散度定理 35.1 三维散度 例子: 35.2 散度定理 例子: 35.3 散度和旋度 35.4 特殊区域的散度定理的证明 35.5 其他区域的散度定理 例子:

拉普拉斯时域卷积定理_如何证明频域卷积定理

展开全部 设抄 IF表示傅立叶逆变换,则 因此有袭 故频域卷积定2113理5261得证。4102 扩展资料 频域卷积定理 频域卷积定理表明两信号1653在时域的乘积对应于这两个信号傅立叶变换的卷积除以2π。 卷积定理揭示了时间域与频率域的对应关系。 这一定理对Laplace变换、Z…

信号采样与采样定理

【自控笔记】6.1信号采样与采样定理 一、离散系统概述 1、离散系统定义:系统中有一处或几处信号是脉冲串或数码的系统。 2、离散系统的分类:离散系统可以分为采样系统和数字系统两大类。采样系统具有时间离散,数值连续的特点;而…

多面体欧拉定理推导

多面体欧拉定理推导 只里描述三维情况下对欧拉定理一些思考。 在三维空间中多面体欧拉定理可表示为: 顶点数-棱长数表面数2连通图上的规律 首先考虑二维平面上,一个连通图的点、边与孔之间的关系。 平面上的一个连通图: 添加点 边中间…

用计算机计算勾股定理,勾股定理电脑计算器

勾股定理公式计算器是一款全面的勾股定理公式计算器。它提供了勾股弦计算、直角三角形判定、平方计算、平方根计算这四个板块,用户能根据需要输入数字快速计算,同时软件也支持批量计算哦! 勾股定理公式计算器主要特性 本软件支持两种计算器模…

Nyquist 尼奎斯特采样定理

目录 一、前言 二、Nyquist 采样定理 三、混叠 一、前言 采样定理在1928年由美国电信工程师H.奈奎斯特首先提出来的,因此称为奈奎斯特采样定理。 1933年由苏联工程师科捷利尼科夫首次用公式严格地表述这一定理,因此在苏联文献中称为科捷利尼科夫采样…

如果觉得上面太正式,请看小红书风格的“从数字化转型到智能化转型”

🤖 AI太强了!人工智能技术飞速发展,被越来越多行业使用。 我真的亲身体验了一下,AI工具可以提高企业效率!数字化转型虽好,但现在时代需要智能化转型,这才能让企业更强大!&#x1f44…

停止开发GPT-4?我更加关注数据版权、信息安全和数字鸿沟问题

近日,随着ChatGPT和GPT-4的迅猛发展,人工智能对于人类社会以及文明的影响将是我们需要重视的问题。有人认为ChatGPT的表现引人入胜,但同时也让人感到毛骨悚然。因此,AI是否可靠、是否会导致灾难、机器智能超过人类的“奇点”是否真…

ChatGPT-最近圈内很火的OpenAI

OpenAI是一家人工智能公司,成立于2015年12月。OpenAI会和谷歌、苹果、IBM等知名公司创办的其它一系列项目一道探索先进计算机技术,解决面部识别或语言翻译等问题。2015年12月12日,非盈利性的人工智能项目—OpenAI宣布正式启动。 ChatGPT 是 …

GPT-4要革程序员的命?智能开发的理想与现实 | 爱分析调研

“生成式人工智能(AIGC)将在三年内终结编程。” ——Matt Welsh,前哈佛大学计算机科学教授、Google 工程主管 GPT-4 也许还不完美,但智能开发时代真的来了 美国时间3月14日,OpenAI 正式发布 GPT-4,在 Chat…

数字内容生产范式革新,AIGC如何续写元宇宙?

AI自动生成的灯光设计效果图 AIGC,元宇宙内容生产范式。 元宇宙、生成式AI、图形渲染技术 当“AI绘画”、“chatGPT”成为热搜,人工智能创作内容(AIGC)的模式开启了内容时代的新篇章,技术前景很性感,但也充…

硅谷AI考察报告

我们从底层技术路径与算力、行业应用以及大模型与垂直模型的发展趋势三个方面来介绍硅谷AI学习考察之行的收获。 作者:民生证券 吕伟/胡又文团队 为了近距离了解硅谷AI前沿发展最新动向和第一手信息,近期,我们专程前往硅谷学习考察&#xff…

解码国内外AI大模型现状——以中美为例

ChatGPT在全球掀起AI大模型的浪潮。 在美国,诸如OpenAI和Anthropic等初创企业,以及微软和谷歌等科技巨头,一同引领美国奋勇向前,在AI大模型的领域不断迈进。同时,在中国,美团的王慧文、阿里巴巴的贾扬清、…

〖程序员的自我修养 - 职业规划篇①〗- 大学生选择职业前的自我认知与剖析

人之所以会觉得迷茫,本质上是欠缺对自己的一个控制力、识别庞杂信息、去伪存真的独立思考能力与认知能力。 说明:该文属于 程序员的自我修养 专栏,购买任意白宝书体系化专栏可加入易编程社区,早鸟价订阅模式除外。福利&#xff1a…

Rokid发布超低延迟AR眼镜手势空间识别算法

昨日,Rokid内部开展了GLASS 软件产品演示分享会。公司XR和应用中心就包括新一代手势空间识别算法、远程协作V4.0及YodaOS C-Lite V1.3.0 PVT版本等在内的最新研发成果,进行了集中晾晒和演示。看着“披星戴月”的付出成就了AR眼镜上“灿若繁星”的各种功能…

AR智能眼镜tooz DevKit 20初体验

AR智能眼镜tooz DevKit 20初体验 AR(Augmented Reality)增强现实技术,是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术,将真实的物理环境和虚拟的信息(如3D 模型、视频、文字等)实时地叠加到同一个…

超详细的AR增强现实开发入门总结

最近有一些朋友在QQ群或者微信公众号后台问Relax关于AR应用开发如何入门的问题,我想后面肯定还有很多人会问这样的问题,干脆就自己所知道的,比较系统的写一篇入门文章出来,供大家参考一下。 这是AR应用开发入门的第一篇&#xff…

实现一个简单但有趣的AR效果(Web)

增强现实(Augmented Reality,简称AR):是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。 本文将让你了解“如何通过 Web 技术实…

Facebook发布AR眼镜研究项目Project Aria

Facebook 来源:IEEE电气电子工程师 近日,在Oculus Connect直播活动中,Facebook宣布了Aria项目,这是一个专注于构建可穿戴增强现实设备的研究项目。但这些智能眼镜更像是一个研究平台,而不是为消费者提供的现成的小玩意…