常见分布式事务解决方案(分布式事务解决的问题)
ccwgpt 2025-05-02 16:54 60 浏览 0 评论
1. 两阶段提交(2PC)
- 原理:分为准备阶段(协调者询问参与者是否可提交)和提交阶段(协调者根据参与者反馈决定提交或回滚)。
- 优点:强一致性,适用于数据库层(如XA协议)。
- 缺点:
- 同步阻塞:所有参与者阻塞直至第二阶段完成。
- 单点故障:协调者宕机可能导致事务挂起。
- 数据不一致:网络问题可能导致部分提交。
- 场景:传统数据库系统(如MySQL的XA事务)。
2. TCC(Try-Confirm-Cancel)
- 原理:业务逻辑拆分为三个阶段:
- Try:预留资源(如冻结库存)。
- Confirm:提交资源(实际扣减库存)。
- Cancel:回滚资源(解冻库存)。
- 优点:高吞吐,避免长事务锁竞争。
- 缺点:
- 业务侵入性强:需手动实现补偿逻辑。
- 需处理幂等、空回滚(如未执行Try却调用Cancel)。
- 场景:高并发业务(如电商秒杀)。
3. 本地消息表(异步确保)
- 原理:
- 事务发起方将消息写入本地数据库(与业务操作同一事务)。
- 后台任务轮询消息表,发送消息至MQ。
- 消费者处理消息并确保最终一致性。
- 优点:简单可靠,无侵入。
- 缺点:消息延迟,需处理消息重试和去重。
- 场景:异步最终一致性(如订单完成后通知用户)。
4. Saga 事务
- 原理:将长事务拆分为多个本地事务,每个事务提供补偿操作。
- 协同式:由事务协调器统一调度。
- 编排式:通过事件驱动(如状态机)触发后续操作。
- 优点:适合长流程事务(如跨服务订单流程)。
- 缺点:
- 补偿逻辑复杂,可能产生“脏数据”。
- 不保证隔离性(可能读到中间状态)。
- 场景:微服务架构下的跨服务事务(如旅行订票系统)。
5. 事务消息(如RocketMQ)
- 原理:
- 发送半消息(Prepared状态,对消费者不可见)。
- 执行本地事务并提交。
- 根据本地事务结果提交或回滚消息。
- 优点:消息与本地事务强一致。
- 缺点:依赖MQ的事务支持,需处理消息回查。
- 场景:异步消息驱动(如支付成功后触发物流)。
6. 最大努力通知
- 原理:发起方多次重试通知,直到接收方确认或达到阈值。
- 记录通知日志,定期重试失败任务。
- 优点:实现简单。
- 缺点:不保证严格一致性,依赖对账机制。
- 场景:弱一致性场景(如支付结果回调)。
选型建议
- 强一致性:2PC(数据库层)、TCC(业务层)。
- 最终一致性:本地消息表、Saga、事务消息。
- 长事务:Saga。
- 高并发:TCC、事务消息。
- 简单实现:本地消息表、最大努力通知。
工具与框架
- Seata:支持AT(自动补偿)、TCC、Saga模式。
- RocketMQ:提供事务消息支持。
- Axon Framework:支持Saga编排式事务。
根据业务需求(一致性要求、性能、复杂度)选择合适的方案,必要时结合多种模式。
相关推荐
- PPT 139 | 粉色渐变小清新春暖花开PPT模板
-
春暖花开,这是你制作PPT的世界粉色渐变小清新春暖花开PPT模板,共22P适用场合:工作总结/个人汇报/演讲培训等喜欢的可以赞一个更多类似PPT模板,搜【小清新】也可以,在线编辑,一键下载...
- 框架完整岗位竞聘报告PPT模板
-
需要源文件de可私!氢元素为您提供PPT模板、PNG元素免费、办公模板。工作述职汇报、计划总结、培训课件、节日庆典、营销策划、商业计划、宣传企业、产品发布、个人简历、毕业答辩、岗位竞聘、护理培训,...
- PPT与视频相关的几个操作要点
-
都知道PPT中可以插入视频,而2010及以上版本插入后还可以对视频做各种处理,另外别忘了还可以直接将PPT导出成视频格式。插入视频方式往PPT中插入视频,除了【插入】|【视频】|【PC上的视频】这种方...
- 书写主题品管圈汇报PPT模板,主题框架,简约设计,品管圈必备
-
Hello大家好,我是帮帮。今天跟大家分享一张书写主题品管圈汇报PPT模板,主题框架,简约设计,品管圈必备。有个好消息!为了方便大家更快的掌握技巧,寻找捷径。请大家点击文章末尾的“了解更多”,在里面找...
- 【教学成果框架图】国家级获奖案例解析与可视化方案(实战版)
-
教学成果逻辑框架图的绘制精髓总结为“逻辑为骨,视觉为翼”。下面结合具体案例,手把手教你制作既专业又美观的成果框架图。一、设计理念:教育逻辑与视觉传达的融合教学成果框架图需体现三重逻辑:教育目标层(立德...
- 年中汇报PPT的超强框架来袭,职场人士的必备神器!
-
这套框架堪称完美,适用于各类工作汇报场景。它逻辑清晰,内容丰富,涵盖个人介绍、工作回顾、业绩成果、问题分析以及未来工作计划等常见汇报模块。PPT已包含600多页,所有元素均可自由编辑,数据图表也能轻松...
- 三个说话框架,提升逻辑思维,让你清晰表达
-
#暑期创作大赛#建立清晰的逻辑思维:三个说话框架的力量我们生活在一个充满语言交流的世界中。无论是在学校,工作场所,还是在社交场合,我们都需要有效地表达我们的观点和想法。然而,许多人都有表达上的困扰,他...
- 《石头记》人物原型故事之逻辑框架(一)
-
话说空空道人将《石头记》带往人世,又经东鲁孔梅溪醒题《风月宝鉴》,曹雪芹定名《金陵十二钗》,加之警幻仙子提醒防备新谱《红楼梦十二支曲》。蛮以为他人在闲适风月故事之于能够了然背后真实故事,怎耐一万年老怪...
- 如何搭建高效沟通与精彩演讲的逻辑结构
-
对于大多数人而言,说话有逻辑这件事难于登天。很多人在演讲、工作汇报中都会遇到诸如“我不知道你在说什么”、“你的重点是什么”、“你说话毫无逻辑”此类的评价,被认为是说话缺乏逻辑的人。那么如何成为一个说话...
- 「书讯」论证逻辑框架下说理写作模式研究
-
《论证逻辑框架下说理写作模式研究》作者:金建龙出版日期:2018年11月开本:16开出版社:经济管理出版社小编推荐提升大学生批判意识和理性说理能力是新时代背景下高等教育中通识教育和博雅教育的全新探索...
- 【一元脑花】青少年4D逻辑训练的基本框架
-
一、核心训练模块多维认知构建资源分布图谱:通过分析社会资源层级与流动规律,建立立体空间认知模型2DOC时空维度整合:将历史局势演变(纵向时间轴)与未来趋势预判(横向可能性轴)结合训练2DOC动态干预系...
- 提升写作逻辑,这5个框架你搭建好了吗?
-
每个人都有写作的愿望,也都想表达心中浩荡的情感,但多年过后,许多人依旧卡在“无话可说”“写不出结构”的怪圈里。有人慨叹:“浮云一别后,流水十年间”,梦想与现实总有一道沟壑横亘——此岸是满腹心事,彼岸...
- 学霸:2天吃透初一语文上学期核心预习知识框架图|暑假弯道超车
-
学霸:2天吃透初一语文上学期核心预习知识框架图|暑假弯道超车。具体如下:查看作者的个人主页获悉剩余的~...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 框架图 (58)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- jpa框架 (47)
- springmvc框架 (49)
- 分布式事务框架 (65)
- scrapy框架 (56)
- shiro框架 (61)
- 定时任务框架 (56)
- java日志框架 (61)
- mfc框架 (52)
- abb框架断路器 (48)
- beego框架 (52)
- java框架spring (58)
- grpc框架 (65)
- tornado框架 (48)
- 前端框架bootstrap (54)
- orm框架有哪些 (51)
- 知识框架图 (52)
- ppt框架 (55)
- 内联框架 (52)
- cad怎么画框架 (58)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)