冬日魔幻之旅-seata+dubbo+nacos+springboot解决分布式事务的全网段唯一实践之作(下)

本文详细介绍了如何使用seata的TCC模式解决分布式事务问题,针对现有示例的不足,提供了一个生产级别的增强实践。通过一个跨行转账的例子,展示了tcc-bank-icbc、tcc-bank-cmb和tcc-money-king三个工程的实现,强调了TCC事务补偿机制的原理。文中还提到了seata在Spring Boot工程中的注意事项,如不支持@Service和@Reference注解,并提供了混合使用XML配置的解决方案。
摘要由CSDN通过智能技术生成

开篇

上篇中我们讲述了seata的基于2PC的AT事物实战篇。在下篇中我们将会非常详细的描述一下如何利用seata来实现TCC事务补偿机制的原理。

目前网上所有的对于seata的TCC讲解只有一篇阿里原本的seata-tcc,它原本自带的这个例子有如下几个缺点:

  1. 若干个provider混在一起
  2. provider和consumer混在一个项目
  3. 不支持nacos连接
  4. 不支持注解

然后网上所有的博客全部是围绕着这篇helloworld级别的例子而讲,其实很多都是抄袭,没有一篇融入了自己的领会与思想,也没有去把原本的例子按照生产级去做分离,这显然会误导很多读者。

因此,我们这次就在原本阿里官方的例子上做生产级别的增强,使得它可以适应你正要准备做的生产环境全模拟。

例子-跨行转款问题

还记得我们在上曾经出现过这么一个例子用于详细描述TCC描述事务的原理吧?

今天我们就会围绕着这个例子来进一步用代码演示它。所有代码我已经上传到了我的GIT上了,地址在这:https://github.com/mkyuangithub/mkyuangithub

我们假设有这么一个业务场景:

你的公司是一家叫moneyking的第三方支付公司,连接着几个主要的银行支付渠道;

现在有一个帐户A要通过工行向另一个位于招商银行的B帐户转帐;

转帐要么成功要么失败;

  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

TGITCIC

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

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

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

打赏作者

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

抵扣说明:

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

余额充值