大数据技术-详解分布式事务解决方案之TCC机制
小职 2021-10-25 来源 : 阅读 743 评论 0

摘要:本篇主要介绍了大数据技术-详解分布式事务解决方案之TCC机制,通过具体的内容展现,希望对大家大数据的学习有一定的帮助。

本篇主要介绍了大数据技术-详解分布式事务解决方案之TCC机制,通过具体的内容展现,希望对大家大数据的学习有一定的帮助。

大数据技术-详解分布式事务解决方案之TCC机制

前言

之前讲解了分布式事务的解决方案之2PC和3PC,今天主要讲解事务补偿机制(TCC),Let's go !


TCC

TCC 事务补偿是基于 2PC 实现的业务层事务控制方案,它是 try, Confirm, Cancel 三个单词的首字母,含义如下:


try 检查及预留业务资源完成提交事务前的检查,并预留好资源

confirm 确定执行业务操作,对 try 阶段预留的资源正式执行

cancel 取消执行业务操作,对 try 阶段预留的资源进行释放

大数据技术-详解分布式事务解决方案之TCC机制


将 TCC 机制带进业务为例:


1、try


下单业务由订单服务和库存服务协同完成,在 try 阶段订单服务和库存服务完成检查和预留资源


比如:订单服务检查当前是否可以满足提交订单,库存服务检查是否有充足的库存,并锁定资源


2、confirm


订单服务和库存服务成功完成 try 后开始正式执行资源操作。


比如:订单服务写入一条订单信息,库存服务扣除库存


3、cancel


订单服务和库存服务有一方出现失败则全部取消操作。


比如:订单服务需删除新增的订单信息,库存还原扣除的库存


特点

TCC 机制优点:


最终保证数据一致性,在业务层实现事务控制,灵活性好

TCC 机制缺点:


开发成本高,每个事务操作每个参与者都需要实现 try/commit/cancel 三个接口

由于 try,confirm,cancel 三个阶段中失败后要不断重试,所以 TCC 的 try,confirm,cancel 的三个接口都要实现幂等性。


幂等性

幂等性是指同一个操作无论请求多少次,其结果都相同。


保证幂等性的方案如下:


1、操作前在业务系统进行判断如果执行过了就不再执行


2、缓存所有请求和处理的结果,已经处理的请求则直接返回结果


3、在数据库表中添加一个状态字段,数据操作时判断处理状态


我是小职,记得找我

✅ 解锁高薪工作

✅ 免费获取基础课程·答疑解惑·职业测评

大数据技术-详解分布式事务解决方案之TCC机制

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程