CAP与BASE分布式理论

CAP理论

  • C:Consistency 一致性:指强一致性,分布式系统中的所有节点在同一时刻具有同样的值、都是最新的数据副本,一致性保证了不管向哪台服务器写入数据,其他的服务器能实时同步数据 强一致性:写入数据的时候,要不全部节点都写入成功,要不都写入失败(类似数据库的事务性)。读取数据的时候,从哪个节点上都读取到最新的值。即所有节点时刻保持一样的值。
  • A:Availability 可用性:部分节点宕机不影响整个集群对外提供服务,每次向未故障的节点发送请求,服务节点总能保证在有限的时间内处理完成并进行响应,从用户角度来看就是不会出现系统操作失败或者访问超时等问题,但是系统内部可能会出现网络延迟等问题 可用性:系统对外提供的服务一直处于可用的状态。用户每一次请求都能返回正确的结果。
  • P:Partition Tolerance 分区容错性:由于网络的问题错综复杂,如果某个节点因为网络等问题造成数据不一致,或者数据延迟很久才同步过来,虽然会影响部分节点数据的时效性,但是服务节点依然是可用的,分布式系统要能容忍这种情况的,也就是说,尽管网络上有部分消息丢失,但系统仍然可继续工作。 分区容错性:集群的节点之间会发生通信,由于网络原因,集群通信出现问题。此时系统仍然能对外提供服务

一个分布式系统无法同时满足这三个条件,只能满足两个。P是必须的,一般为CP和AP。

P必须:分布式系统必然有多个节点之间通信,网络通信不能保证100%正常,所以P是必须的。放弃P就变成了单机系统

CP:不保证一直对外提供服务。如zookeeper故障,在恢复阶段无法进行读写。

AP:节点之间短时间内存在数据差异。如redis集群发生网络故障,每个节点都能对外提供服务,但是数据不一致。

CAP之间的取舍不是针对一个系统。一个系统存在多种数据,针对不同数据使用CAP做出取舍。

选择CP或者AP,也不是完全放弃另一个。故障恢复后也要想办法恢复C或者A。

BASE理论

BASE 理论是指,Basically Available(基本可用)、Soft-state( 软状态)、Eventual Consistency(最终一致性),是基于CAP定理演化而来,是对CAP中一致性和可用性权衡的结果。

核心思想:即使无法做到强一致性,但每个业务根据自身的特点,采用适当的方式来使系统达到最终一致性。

  • 基本可用:分布式系统在出现故障的时候,允许损失部分可用性,保证核心可用。但不等价于不可用。比如:搜索引擎0.5秒返回查询结果,但由于故障,2秒响应查询结果;网页访问过大时,部分用户提供降级服务等。
  • 软状态:软状态是指允许系统存在中间状态,并且该中间状态不会影响系统整体可用性。即允许系统在不同节点间副本同步的时候存在延时。
  • 最终一致性:系统中的所有数据副本经过一定时间后,最终能够达到一致的状态,不需要实时保证系统数据的强一致性。最终一致性是弱一致性的一种特殊情况。

参考:

https://blog.csdn.net/sinat_34814635/article/details/138647619

相关推荐
不爱学英文的码字机器7 分钟前
数据网格的革命:从集中式到分布式的数据管理新范式
分布式
优秀的颜4 小时前
计算机基础知识(第五篇)
java·开发语言·分布式
棠十一11 小时前
Rabbitmq
分布式·docker·rabbitmq
Lansonli11 小时前
大数据Spark(六十一):Spark基于Standalone提交任务流程
大数据·分布式·spark
Theodore_102213 小时前
大数据(2) 大数据处理架构Hadoop
大数据·服务器·hadoop·分布式·ubuntu·架构
G探险者17 小时前
《深入理解 Nacos 集群与 Raft 协议》系列五:为什么集群未过半,系统就不可用?从 Raft 的投票机制说起
分布式·后端
G探险者18 小时前
《深入理解 Nacos 集群与 Raft 协议》系列一:为什么 Nacos 集群必须过半节点存活?从 Raft 协议说起
分布式·后端
G探险者18 小时前
《深入理解 Nacos 集群与 Raft 协议》系列四:日志复制机制:Raft 如何确保提交可靠且幂等
分布式·后端
G探险者18 小时前
《深入理解 Nacos 集群与 Raft 协议》系列三:日志对比机制:Raft 如何防止数据丢失与错误选主
分布式·后端
G探险者18 小时前
《深入理解 Nacos 集群与 Raft 协议》系列二:Raft 为什么要“选主”?选主的触发条件与机制详解
分布式·后端