极简—CAP理论简要说明

本文介绍了CAP理论,包括一致性、可用性和分区容忍性的定义,并探讨了在分布式系统中如何权衡这三者。特别提到Nacos框架采用的不同一致性策略,如严格一致性与最终一致性。

1、CAP理论是什么

CAP 理论是由计算机科学家 Eric Brewer 在 2000 年提出的,用于描述分布式系统的三个重要属性:一致性(Consistency)、可用性(Availability)和分区容忍性(Partition Tolerance)之间的关系。

2、三个属性具体定义

一致性(Consistency):指所有节点在同一时间看到的数据是一致的。即当一个节点对数据进行了更新操作后,所有其他节点在之后的读取操作中都能立即看到这一更新。
可用性(Availability):系统提供的服务在任何时候都应该是可用的,即使出现了部分节点故障或延迟。
分区容忍性(Partition Tolerance):系统能够容忍网络分区,即系统中的节点可以被分成多个分区,这些分区之间可能由于网络故障而无法通信。

3、CAP使用权衡

1、保留CA,放弃P
作为一个分布式系统,放弃P,即相当于放弃了分布式,也就是单机部署,一旦并发性很高,单机服务根本不能承受压力。
2、保留CP,放弃A
一旦遇到分区容错故障,那么受到影响的服务需要等待一定的时间,因此在等待期间部分系统无法对外提供服务。
代表:Zookeeper
代表:Nacos 的Distro协议。Distro是阿里巴巴的私有协议,目前流行的 Nacos服务管理框架就采用了 Distro协议。Distro 协议被定位为 临时数据的一致性协议 :该类型协议, 不需要把数据存储到磁盘或者数据库 ,因为临时数据通常和服务器保持一个session会话, 该会话只要存在,数据就不会丢失 。

  		spring.cloud.nacos.discovery.naming-consistency=strict

3、保留AP,舍弃C
这里所说的放弃一致性,并不是完全放弃数据一致性,而是放弃数据的强一致性。即放弃了同一时刻的数据一致性,而保留数据的最终一致性。
代表:Eureka raft算法 能保存数据的最终一致性
Nacos raft算法 能保存数据的最终一致性

		spring.cloud.nacos.discovery.naming-consistency=coordinator
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值