图解分布式核心思路 | 最终一致性,一致只会迟到,但绝不会缺席

本文探讨分布式系统中的最终一致性,这是一种确保数据在不同节点间最终达到一致状态的核心思路。文章通过举例说明了最终一致性在解决用户等待时间和部分失败情况下的应用,以及如何通过消息队列实现数据分发以达成一致性。最终一致性允许短暂的不一致,但保证在一段时间后满足业务需求。
摘要由CSDN通过智能技术生成

这篇文章我们继续聊分布式相关的内容。

提到分布式系统,就一定绕不开“一致性”,这次我们说说:最终一致性。

最终一致性是现在大部分高可用的分布式系统的核心思路。

估计有人对最终一致性不太熟,先来个简单介绍:

最终一致性指的是系统中的所有分散在不同节点的数据,经过一定时间后,最终能够达到符合业务定义的一致的状态。

划重点:

  1. 是数据一致性,不是事务一致性(ACID 是事务一致性);
  2. 存在条件:多个节点/系统;
  3. 不一致可能是暂时的,最终要一致(鬼知道“最终”是多久)

好,正文开始。

莫看江面平如镜,要看水底万丈深

最终一致性,一言以蔽之,过程松,结果紧。不管中间过程如何,结果必须符合业务需求,满足数据一致性的要求。

虽然,在实现中,有各种花样百出的方案,但是本质的思想都是一样的。我们现在就来忽略那些乱花迷眼的过程,仔细探讨下最终一致性的本质。

何事居穷道不穷,乱时还与净时同

在我刚入行不久的时候,能力有限,菜鸟一个,只能做一些小的功能模块。我印象最深的就是订单模块。

用户下单,订单模块收到下单请求后,执行对应的订单业务逻辑。最终,会把订单插入到订单表,并返回下单结果给用户。用户结算后,订单模块就会去根据支付情况去更新订单状态。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值