前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >余额 TCC 实现分析

余额 TCC 实现分析

作者头像
林万程
发布2022-01-09 09:57:16
4260
发布2022-01-09 09:57:16
举报

为什么要有可用余额字段? 为什么是可用金额, 而不是预留金额/冻结金额?

分布式事务 TCC 中 T 阶段要先锁住金额以便事务失败回滚时不会出现金额被取走导致回滚失败出现负账。

预留金额模式

入账

T:账户+入账,预留+入账 C:预留-入账 R:账户-入账,预留-入账

出账

T:预留+出账 where 账户-预留>出账 C:账户-出账,预留-出账 R:预留-出账

可用余额模式

入账

T:账户+入账 C:可用+入账 R:账户-入账

出账

T:可用-出账 where 可用>出账 C:账户-出账 R:可用+出账

可以看出可用余额模式要简单得多。

在实现中还需要预留金额表记录未完成的预留金额明细,以便知道冻结的金额明细是处于什么状态。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021.10.30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 预留金额模式
    • 入账
      • 出账
      • 可用余额模式
        • 入账
          • 出账
          相关产品与服务
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档