最终一致性不是说数据可以一直不一致,而是允许系统在短时间内出现状态差异,随后再收敛到一致结果。它常见于跨服务、跨库和异步链路很多的系统。
为什么不直接追求强一致
因为强一致通常意味着更高的等待成本。只要某个节点慢、网络抖动或下游暂时不可用,整体响应和可用性都会受影响。
最终一致性适合什么场景
订单创建后异步扣库存、支付成功后再更新积分、消息投递后再刷新搜索索引,这类流程更在意系统整体可用和可恢复能力,往往会采用最终一致性。
它靠什么兜住结果
常见手段是消息队列、重试、补偿、幂等和状态机。重点不是“瞬间完全同步”,而是确保失败后还能继续推进,且重复执行不会把结果搞乱。
一句话理解
最终一致性是在复杂分布式系统里,用可恢复的延迟换取更好的可用性和扩展性。
正文完




