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

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 先启动成功】

  • 启动 Nacos Server 8848
  • 双击 Seata 的 \bin\seata-server.bat,启动 Seata Server
  • 登录 Nacos Server,查看 Seata Server 是否注册成功
posted @   爱新觉罗LQ  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示