分布式环境下的数据一致性问题与协议

本文探讨了分布式环境下数据一致性问题,解释了CAP理论的矛盾及业界为平衡这三者提出的BASE理论。同时,介绍了二阶段提交、三阶段提交以及Paxos算法在保证强一致性方面的应用,分析了它们的优缺点和潜在风险。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.分布式环境下的数据一致性

在分布式环境下 机器越多,就难以保证各个机器之间的数据都是一样的,各个节点的机器总会因为 机器故障/网络延迟/处理能力不同 等原因 导致同一份数据,在不同的机器中,很难达到一致的情况。

2.CAP理论

CAP理论 即 C 一致性 A 可用性 P 分区容错性
一致性是指,一个集群中N台机器的数据都是一样的。
可用性 是指, 这个集群可以正常对外提供服务的能力
分区容错性,比如说这个集群中 ,某个机器挂了,对整个集群的影响程度。

很容易就可以发现,这三个标准,无法同时满足。
比如说要保证一致性,那么集群的机器数量越多,相同的一份的数据,写入到这个集群中,所需要的时间就越多。一份数据写入到一台机器成功,跟保证一条数据写入到100台机器都成功,所需要的时间差异是巨大的。 如果非要保证强一致性,那么就会影响可用性,也就是 这100台机器都写入成功之前,不允许该集群对外提供服务,因为如果对外提供服务,就可能会让外界获取到不一致的数据。
比如说 数据a同步到了第87台数据,然后用户读的是第99台的数据,因为第99台机器没有完成数据的写入,所以用户读不到,会认为该数据不存在于这个集群中。
因此要如果保证强一致性,必定会影响可用性。

同理,如果要保证可用性,就必然影响一致性,可用性程度越高,一致性就越弱。
分区容错性越强,说明某个机器挂了对这个集群的影响越小,说明这个集群的机器数量就越多
,机器越多,如果要保证强一致性,可用性就受影响,如果要保可用性,一致性就越弱。

3.BASE理论

业内有人根据CAP理论提出了BASE理论,这是一个均衡的结果。
BASE理论是指 ,BA 基本可用 S 软状态 E 最终一致性

基本可用,是指当故障发生时候,服务可以降级 限流等,但是系统本身必须是可用的 ,对应分布容错性。

软状态 就是允许一份数据存在中间状态,允许数据在不同机器之间存在同步延时

最终一致性 系统中所有数据,经过一段时间之后,最终能达成一致。

4.强一致性 二阶段提交/三阶段提交

分布式事务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值