柔性事务TCC的分析

前言

相信搜到这篇文章的同学都知道TCC的大概由来,就不累述了。简单说:为了解决微服务所带来的事务问题而产生的一种设计思想。本文不重复和copy一些理论概念,只从本人的理解出发,从一个微服务爱好者的角度出发,分析这种设计思想。

基础概念

TCC : try,confirm,cancel,就那么简单的三个字。
try: 进行业务的检查和预操作。
confirm: 将try中的预操作落实,进行的确认操作。
cancel: 如果try失败了,进行回滚,也算是一种补偿处理。

如果对tcc不是特别了解的同学,看到上面其实还是一篇模糊,不知道这个框架到底想干什么。下面我们具体实例看下,他是怎么应用的。

实例理解

实例:用大家最容易理解的下单功能来讲。用户下单后,要执行3个内容:

  1. 生成订单-OrderService
  2. 扣减库存-StockService
  3. 生成会员积分-MembershipService

我们假设这三个service都是独立的三个微服务。

我们分成三个阶段来看:
Try:
OrderService:生成订单,并给订单一个初始状态:pending
StockService:冻结库存(预操作)。库存一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪烛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值