# 《Seckill秒杀系统》第50章:基于AT模型解决分布式事务问题

作者:冰河
星球:http://m6z.cn/6aeFbs (opens new window)
博客:https://binghe.gitcode.host (opens new window)
文章汇总:https://binghe.gitcode.host/md/all/all.html (opens new window)
源码获取地址:https://t.zsxq.com/0dhvFs5oR (opens new window)

沉淀,成长,突破,帮助他人,成就自我。

  • 本章难度:★★★☆☆
  • 本章重点:重点理解并掌握AT模型解决分布式事务问题的流程,并能够将其灵活运用到自身实际项目中,熟悉并掌握支持AT事务模型的Seata分布式事务框架。

大家好,我是冰河~~

Seata是阿里巴巴开源的一款分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。

注意:如果想系统、深入的学习分布式事务相关的知识,可以阅读《深入理解分布式事务:原理与实战 (opens new window)》一书。

# 一、前言

可以这么说,当互联网企业的业务发展到一定的规模时,就会涉及到服务的拆分和数据的拆分,一旦涉及到服务的拆分和数据的拆分,多多少少都会涉及到分布式事务的问题。而使用Spring自带的事务管理器是无法很好的解决分布式事务的问题,此时就需要借助其他的解决方案或者分布式事务框架来解决分布式事务的问题。

# 二、本章诉求

在前面的文章中,我们已经基于Dromara社区的Hmily开源框架使用TCC模型解决了分布式事务问题。业界对分布式事务问题提出了很多可靠的解决方案,除了TCC模型外,还有AT模型,阿里巴巴开源的Seata框架就支持AT模型。

本节,我们就使用阿里巴巴开源的Seata框架来解决秒杀系统中下单扣减库存产生的分布式事务问题。

# 三、AT模型解决方案

对于AT模型解决方案的知识,我们就不做过多的赘述了,关于AT模型详细的知识,大家可以到 Seata官网 (opens new window) 阅读相关的内容,也可以阅读《SpringCloud Alibaba实战 (opens new window)》分布式事务相关章节的文章。

# 四、秒杀系统整合Seata框架

本节,就详细介绍秒杀系统整合Seata框架来解决分布式事务问题。

# 4.1 搭建Seata基础环境

(1)到链接:https://github.com/seata/seata/releases/tag/v1.6.1 (opens new window) 下载Seata,这里我下载的是1.6.1版本,如图50-1所示。


这里我下载的都是zip压缩文件。

(2)进入Nacos,选择命名空间,新建命名空间,如图50-2所示。


点击新建命名空间,并填写Seata相关的信息,如图50-3所示。

# 查看完整文章

加入冰河技术 (opens new window)知识星球,解锁完整技术文章与完整代码