SpringCloud Seata【解决分布式事务的问题】安装

发布时间 2023-12-14 11:59:14作者: 爱新觉罗LQ

SpringCloud Seata【解决分布式事务的问题】安装

1. 问题引出

1.1 单机单库(多表)处理事务示意图

1.2 分布式微服务架构下的数据库事务示意图


图片梳理:用户购买商品的业务逻辑。整个业务逻辑由3个微服务提供支持:

  1. 仓库服务:对给定商品 扣除商品数量
  2. 订单服务:根据采购需求创建订单
  3. 账户服务:从用户账户中扣除余额
    问题分析:
  • 单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用三个独立的数据源
  • 业务操作需要调用三个服务来完成。此时每个服务内部的数据一致性由本地事务来保证
  • 但是 全局的数据一致性 问题没法保证
  • 简单地说:一次业务操作需要跨多个数据源或跨多个系统进行远程调用,就会产生 分布式事务 问题

2. 安装 Seata

2.1 修改 file.conf


修改自定义的事务组

修改事务日志存储

相应修改用户名和密码

2.2 在 Mysql5.7 中创建 seata 数据库

在 seata 数据库建表,使用 seata 提供的 sql 脚本即可,在 seata 的 \conf\db_store.sql

运行后可以发现:建立了 3 张表

2.3 修改 registry.conf,配置注册中心 Nacos Server


3. 测试:看 Seata Server 是否安装成功

  • 启动 Nacos Server 8848
  • 双击 Seata 的 \bin\seata-server.bat,启动 Seata Server
  • 登录 Nacos Server,查看 Seata Server 是否注册成功