首页/新闻资讯/正文详情

常见的分布式事务有哪些?

发布时间:2026/9/25 2:42:10 来源:云帆数科 栏目:资讯中心
常见的分布式事务有哪些?
已完成分析共参考 6 篇资料常见的分布式事务方案可以从“刚性事务追求强一致性”和“柔性事务追求最终一致性”两个维度来理解。在微服务和多数据库场景下需要根据业务对一致性、性能、侵入性的要求做取舍。1. 刚性事务强一致性基于 ACID2PC两阶段提交原理协调者统一调度第一阶段询问所有参与者是否准备好参与者锁定资源但不提交第二阶段根据投票结果统一提交或回滚。优缺点强一致、对业务侵入小但同步阻塞、锁资源时间长、协调者单点故障风险性能较差。适用场景低并发、对数据强一致性要求极高的场景如银行核心转账、跨库结算。3PC三阶段提交原理在 2PC 基础上增加CanCommit预提交阶段和超时机制分 CanCommit / PreCommit / DoCommit 三阶段。优缺点降低了协调者宕机导致的阻塞风险但协议更复杂网络分区下仍可能不一致工程落地较少。XA 模式本质是数据库层面的 2PC 实现如 MySQL XASeata 也提供了 XA 模式封装属于强一致方案。2. 柔性事务最终一致性基于 BASETCCTry-Confirm-Cancel原理业务层面实现三接口——Try 预留资源、Confirm 确认执行、Cancel 释放/补偿。优缺点性能好、无数据库长锁、可对接异构资源但业务侵入性强需自行处理幂等、空回滚、悬挂等边界问题。适用场景高并发核心链路如电商下单扣库存、金融支付扣款。Saga 模式原理将长事务拆为多个本地事务顺序执行每个步骤对应一个补偿操作失败时反向执行补偿恢复一致性。分编排式中心化协调器和协同式事件驱动。优缺点无长锁、适合长链路但无隔离性中间状态对外可见补偿逻辑复杂。适用场景订单履约、物流调度、跨境支付等长流程业务。可靠消息最终一致性本地消息表业务操作与消息记录写入同一本地事务后台任务轮询投递到 MQ消费端幂等处理。事务消息由 MQ 本身提供事务支持如 RocketMQ 半消息机制解耦了业务库与消息表是本地消息表的升级版。适用场景跨服务异步解耦如注册送积分、下单后发券、数据同步。最大努力通知原理对下游多次重试通知失败后进入死信/告警/人工介入尽最大努力达成一致。适用场景一致性要求极低的场景如短信/邮件通知、支付结果回调。3. 框架级方案SeataSeata 是阿里开源的分布式事务框架集成了多种模式可根据场景灵活选择表格下载为表格导出为图片模式一致性侵入性适用场景AT最终一致零侵入加注解即可90% 普通微服务 CRUDTCC最终一致高侵入金融支付等高并发核心业务SAGA最终一致中长流程业务XA强一致低低并发强一致场景AT 模式通过代理数据源、解析 SQL 自动生成undo_log实现反向补偿对业务几乎无侵入是目前微服务架构下最常用的方案之一。选型建议不能容忍任何不一致→ 2PC / XA牺牲性能换强一致希望业务少改造、快速落地→ Seata AT 或本地消息表可接受业务侵入、链路短且并发高→ TCC链路长、步骤多→ Saga只需异步通知下游→ 可靠消息 / 最大努力通知生产环境最佳实践优先通过架构设计如聚合服务、避免跨库写规避分布式事务无法规避时再按需选型。

相关推荐

调用deepseek接口调整生成数据集json文件
调用deepseek接口调整生成数据集json文件

一、搞清楚json文件的格式 1、VRSBench_train.json 这是一个训练集,包含了用于模型训练的对话数据。每条数据包含 ID、图像名称和对话内容,对话由人类提问和 AI 回答组成。问题类型多样,包括图像描述(caption)、目标… · 2026/9/25 2:42:10

PDF文档管理系统V1.1的介绍
PDF文档管理系统V1.1的介绍

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 2:42:10

python-dotenv 贡献指南:测试、代码规范与文档构建全流程
python-dotenv 贡献指南:测试、代码规范与文档构建全流程

后端 【免费下载链接】python-dotenv Reads key-value pairs from a .env file and can set them as environment variables. It helps in developing applications following the 12-factor principles. 项目地址: https://gitcode.com/gh_mirrors/py/python-doten… · 2026/9/25 2:42:10

基于 Transformers 的自动语音识别微调实战指南:CTC 与 Seq2Seq 双路线详解
基于 Transformers 的自动语音识别微调实战指南:CTC 与 Seq2Seq 双路线详解

推理引擎大模型 【免费下载链接】FlexGen Running large language models on a single GPU for throughput-oriented scenarios. 项目地址: https://gitcode.com/gh_mirrors/fl/FlexGen 点击查看 免费下载 本指南聚焦于仓库内 benchmark/third_party/transformers/… · 2026/9/25 3:08:42

用ADMM+HSS打破大规模非线性SVM的核矩阵瓶颈
用ADMM+HSS打破大规模非线性SVM的核矩阵瓶颈

训练大规模非线性SVM,最大的一道坎从来不是算法推导,而是核矩阵。我做过一个电力负荷预测项目,样本量从5000涨到2万的时候,Matlab直接给我弹了“Out of memory”,当时用的还是普通RBF核。后来我把交替方向乘子法&#… · 2026/9/25 3:08:42

蓝桥杯真题导入QDUOJ:题包制作、批量导入与避坑指南
蓝桥杯真题导入QDUOJ:题包制作、批量导入与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 3:08:36

Apache Iceberg JDBC Catalog 集成指南:用关系数据库管理 Iceberg 表元数据
Apache Iceberg JDBC Catalog 集成指南:用关系数据库管理 Iceberg 表元数据

数据湖大数据数据存储 【免费下载链接】iceberg Apache Iceberg 项目地址: https://gitcode.com/gh_mirrors/icebe/iceberg 点击查看 免费下载 JDBC Catalog 是 Apache Iceberg 提供的一种轻量级 Catalog 实现,它把 Iceberg 表的元数据(meta… · 2026/9/25 3:08:36

GraphQL Yoga 中的 @envelop/execute-subscription-event:为每次订阅事件重建 Context 的原理与实战
GraphQL Yoga 中的 @envelop/execute-subscription-event:为每次订阅事件重建 Context 的原理与实战

后端API设计 【免费下载链接】graphql-yoga 🧘 Rewrite of a fully-featured GraphQL Server with focus on easy setup, performance & great developer experience. The core of Yoga implements WHATWG Fetch API and can run/deploy on any JS environment.… · 2026/9/25 3:08:36

GX Works3安装全指南:环境配置、步骤与故障排查
GX Works3安装全指南:环境配置、步骤与故障排查

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 3:08:30

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码