Seata分布式事务保姆级教程

初识Seata

Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 为提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案,这四种模式的具体解释可以查看官方文档
下载地址:https://github.com/seata/seata/releases/download
官方文档:http://seata.io/zh-cn/docs/user/quickstart.html
 

Seata基本使用

一、检查环境

因为之后的设置可能要配置注册中心和配置中心,所以如果需要用到要提前准备好,我这里的注册中心用的Nocos,配置中心用的file.conf

二、引入依赖

这里注意版本问题

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-seata</artifactId>
    <version>2.1.0.RELEASE</version>
</dependency>
<dependency>
    <groupId>io.seata</groupId>
    <artifactId>seata-all</artifactId>
    <version>1.2.0</version>
</dependency>
三、YML配置文件

seata.enabled属于1.0新特性,可以不用引入file.conf 和 registry.conf,但我这里使用的是引入文件的方式

# 其他配置项省略
spring:
    # db相关配置
    datasource:
        # 是否开启seata事务
        seata: true
    alibaba:
      # 分布式事务
      seata:
        # 激活自动配置,使得我们可以在yaml/properties文件中配置
        enabled: true
        # enable-auto-data-source-proxy: true
        # 事务分组名
        tx-service-group: my_test_tx_group
四、创建undo_log表

SEATA AT模式需要undo_log表,所以在你自己的数据库中创建该表保证事务正常运行

-- mysql 建表语句
CREATE TABLE IF NOT EXISTS `undo_log`
(
    `id`            BIGINT(20)   NOT NULL AUTO_INCREMENT COMMENT 'increment id',
    `branch_id`     BIGINT(20)   NOT NULL COMMENT 'branch transaction id',
    `xid`           VARCHAR(100) NOT NULL COMMENT 'global transaction id'</
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值