SpringCloud Seata【解决分布式事务的问题】安装
SpringCloud Seata【解决分布式事务的问题】安装
1. 问题引出
1.1 单机单库(多表)处理事务示意图
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 是否注册成功
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix