1 / 9
文档名称:

微服务架构分布式事务方案.docx

格式:docx   大小:147KB   页数:9页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

微服务架构分布式事务方案.docx

上传人:爱的奉献 2022/3/9 文件大小:147 KB

下载得到文件列表

微服务架构分布式事务方案.docx

相关文档

文档介绍

文档介绍:精品文档
精品文档
1
精品文档
?
?
?
?

.
微服务–分布式事务
概念澄清
事务补偿机制:在事务链中的任何一个正向事务操作,都必须存在一个完全符合回滚规则的可逆品文档
6
精品文档
?
?

精品文档
精品文档
8
精品文档
图的上半是两阶段提交成功的演示,,这里就不细说了,可以参考前面的链接.
缺点
两阶段提交中的第二阶段,协调者需要等待所有参与者发出yes请求,或者一个参与者发出no请求后,,造成性能瓶颈,如果参与者有一个耗时长的操作,性能损耗会更明显.
实现复杂,不利于系统的扩展,不推荐.
TCC(Try-Confirm-Cancle)
TCC,是基于补偿型事务的 AP系统的一种实现,具有最终一致性.
精品文档
精品文档
8
精品文档
;.
精品文档
精品文档
8
精品文档
.
下面以客户购买商品时的付款操作 为例进行讲解:
? Try:
完成所有的业务检查 (一致性),预留必须业务资源(准隔离性);
体现在本例中,就是确认客户账户余额足够支付(一致性),锁住客户账户,商户账户(准隔离性).
精品文档
精品文档
10
精品文档
;.
精品文档
精品文档
8
精品文档
?
?

.
Confirm:
使用Try阶段预留的业务资源执行业务(业务操作必须是幂等的),如果执行出现异常,要进行重试.
在这里就是执行客户账户扣款 ,商户账户入账操作.
Cancle:
释放Try阶段预留的业务资源 ,在这里就是释放客户账户和商户账户的锁 ;
如果任一子业务在Confirm阶段有操作无法执行成功,会造成对业务活动管理器的响应超时,,必须进行重试,若实在无法执行成功,则事务管理器必须能够感知到失败的操作,进
行log(用于事后人工进行补偿性事务操作或者交由中间件接管在之后进行补偿性事务操作).
精品文档
精品文档
12
精品文档
?
?

优点
对比与前面提到的两阶段提交法 ,有两大优势:
TCC能够对分布式事务中的各个资源进行分别锁定,分别提交与释放,例如,假设有AB两个操作,假设A操作耗时短,那么A就能较快的完成自身的try-confirm-cancel流程,,追加执行补偿性事务即可.
TCC是绑定在各个子业务上的(除了cancle中的全局回滚操作),也就是各服务之间可以在一定程度上”异步并行”执行.
精品文档
精品文档
8
精品文档
?
?

注意事项
事务管理器(协调器