IT评测·应用市场-qidao123.com

标题: 分布式事务中TCC、SAGA 或可靠消息事务应该如何理解? [打印本页]

作者: 温锦文欧普厨电及净水器总代理    时间: 2025-3-14 06:45
标题: 分布式事务中TCC、SAGA 或可靠消息事务应该如何理解?
TCC、SAGA 和 可靠消息事务 是分布式事务中的三种常见模式,它们通常用于解决分布式体系中的同等性题目。它们与 2PC(两阶段提交)相比,通常会在性能可扩展性上有所优化,适用于不需要强同等性的场景。

1. TCC(Try-Confirm/Cancel)事务

TCC 是一种 三阶段提交 模式,适用于 高可用、高并发的分布式体系,尤其是像 支付、预订等场景,它通过三步操作来协调分布式事务。
TCC 主要步骤:
TCC 的长处:

TCC 的缺点:

TCC 举例:
假设一个电商体系的用户下单并支付,涉及到 库存服务订单服务支付服务


2. SAGA(补偿事务)

SAGA 是另一种分布式事务模型,它通过将一个长事务拆分成多个独立的子事务来解决分布式事务题目。每个子事务执行后会提交,并在发生错误时通过 补偿事务 来进行回滚。
SAGA 模式有两种实现方式:
SAGA 的步骤:
SAGA 的长处:

SAGA 的缺点:

SAGA 举例:
在一个订单支付流程中,假设有如下三个服务:库存服务订单服务支付服务


3. 可靠消息事务

可靠消息事务 主要通过消息队列和 终极同等性 来解决分布式事务的题目。它通过异步消息通报来确保操作的成功,并利用消息队列的 消息补偿 机制来确保消息的可靠性。
可靠消息事务的基本步骤:
可靠消息事务的特点:

可靠消息事务的长处:

可靠消息事务的缺点:

可靠消息事务举例:
例如一个电商平台中的订单创建和支付过程:

4. 总结

事务模型主要特点优缺点适用场景TCC三阶段提交,包含 Try、Confirm、Cancel 操作。用于高可用场景,适合需要强同等性的业务。优:强同等性、业务逻辑清晰;缺:需要实现 Try/Confirm/Cancel 操作,业务复杂。支付、预订等高同等性要求的业务SAGA将长事务拆分为多个子事务,每个子事务失败时执行补偿操作。优:支持长事务、灵活的补偿操作;缺:计划复杂、可能产生长时间的并发冲突。电商订单、支付等长事务的业务可靠消息事务通过消息队列进行异步消息通报,利用消息补偿机制确保终极同等性。优:高并发、实现简单;缺:只能保证终极同等性,适用场景有限。高并发、消息驱动的异步事务体系(如电商平台) 每种事务模型适用于差别的场景,TCC 适用于对同等性要求高的业务,SAGA 适用于长事务和补偿操作,可靠消息事务适用于高并发的分布式环境。如果你在开辟过程中有类似需求,可以选择合适的模型进行实现。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4