是时候把分布式存储系统的理论指导从CAP转到PACELC

是时候把分布式存储系统的理论指导从CAP转到PACELC

作者:常平 2018-06-08 09:10:49

存储

存储软件

分布式 CAP理论是当前分布式存储系统设计的理论指导,而PACELC理论是CAP理论的扩展,分布式存储系统设计的理论依据是时候从CAP理论扩展为PACELC理论。

 CAP理论是当前分布式存储系统设计的理论指导,而PACELC理论是CAP理论的扩展,分布式存储系统设计的理论依据是时候从CAP理论扩展为PACELC理论。

PACELC在wiki上的定义是

“It states that in case ofnetwork partitioning (P) in a distributed computer system, one has to choosebetween availability (A) and consistency (C) (as per the CAP theorem), but else(E), even when the system is running normally in the absence of partitions, onehas to choose between latency (L) and consistency (C).”

简单来说这里的意思就是:”如果有分区partition (P),系统就必须在availability 和consistency (A and C)之间取得平衡; 否则else (E) 当系统运行在无分区情况下,系统需要在 latency (L) 和 consistency (C)之间取得平衡”

[[232158]]

CAP理论认为以下三者不能同时满足:

1)一致性(Consistency): 所有的节点在同一时刻数据是完全一样的;

2)可用性(Availability): 节点失效不会影响系统的IO;

3)分区容忍性(Partition Tolerance): 系统能支持网络分区(网络连接故障),即使分区之间的消息丢失系统也正常工作;

根据业务场景的不同,不同的分布式存储系统会根据自身业务的需求在CAP三者之中进行权衡, CAP理论的意义是在分布式存储系统设计时需要权衡的因素,而非绝对的三者取其二,并且在CAP理论中没有提到时延(Latency),而时延(Latency)却是很重要的可用性(Availability)指标。

因为CAP没有考虑到系统中的Latency因素,因此定义了一个新的模型PACELC,添加了Latency,如下图:

当前分布式存储系统设计指导理论应当用PACELC理论替代CAP理论,理由如下:

1)PACELC更能满足实际操作中分布式存储的工作场景是更好的工程实现策略;

2)当partition (P)存在的场景下,需要在availability 和consistency (A and C)之间获得权衡,当时实际上分布式系统中绝大多数时间里partition (P)是不存在的,那么就需要在latency (L) 和 consistency (C)之间取得权衡;

3)availability在不存在partition (P)的场景下跟 latency关联,在partition (P)时跟reliable指标关联;

4)PACELC 可以在 latency vs consistency之间获得平衡;

5)CAP 理论忽略了 一致性和时延之间的权衡。

PACELC建立在CAP之上,二者都描述了在一致性(Consistency),可用性(Availability)和分区容忍性(Partition Tolerance)之间的限制和权衡。而PACELC更进一步描述了即使在没有Partition的场景下,也存在Latency和Consistency之间的权衡,从而为分布式系统的Consistency模型提供了一个更为完整的理论依据。

要保证系统的高可用(high availability)那么就必须复制数据,而进行数据复制,就会出现在Consistency和Latency之间要求做个权衡。

举个PACELC的应用场景栗子,如下图:

1、在强一致性复制场景下,需要三副本都下盘才能返回ok给client端,Master向Slave 复制数据,Latancy的限制是 20ms,有时候,slave 2 硬盘或网络出现故障,Master 往 Slave 复制数据的时延超过 20ms了,这个时候如果还一致等待 slave 2 返回结果再notify 给client就会出现性能和时延抖动,而且这种抖动是经常发生的长尾效应。

2、依据PACELC理论,我们可以在 consistency和Latency之间做个权衡,比如 slave2 节点的时延超过 20ms了,就不等待slave 2 返回,master 和 slave 1 返回结果给client即可,如果 slave 2 出现 超时的 次数超过 5次那么就认为 这个节点可能出现故障,打个故障标签,进行后续的处理。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/228161.html<

(0)
管理的头像管理
上一篇2025-04-18 04:25
下一篇 2025-04-18 04:26

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注