| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 项目实战六:分布式事务-Seata -> 正文阅读 |
|
[Java知识库]项目实战六:分布式事务-Seata |
一、Seata介绍? ? ? ? 1:简介:????????????????Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式 ????????????????事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式, ????????????????为用户打造一站式的分布式解决方案。 ? ? ? ? 2:术语????????????????TC (Transaction Coordinator) - 事务协调者 ????????????????????????维护全局和分支事务的状态,驱动全局事务提交或回滚。 ????????????????TM (Transaction Manager) - 事务管理器 ????????????????????????定义全局事务的范围:开始全局事务、提交或回滚全局事务。 ????????????????RM (Resource Manager) - 资源管理器 ????????????????????????管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态, ????????????????????????并驱动分支事务提交或回滚。 ? ? ? ? 3:处理过程? ? ? ? ? ? ? ? 1.TM向TC申请开启一个全局事务,全局事务创建成功并生成一个全局唯一的XID ? ? ? ? ? ? ? ? 2.XID在微服务调用链路的上下文中传播 ? ? ? ? ? ? ? ? 3.RM向TC注册分支事务,将其纳入XID对应全局事务的管辖 ? ? ? ? ? ? ? ? 4.TM向TC发起针对XID的全局提交或回滚决议 ? ? ? ? ? ? ? ? 5.TC调度XID下管辖的全部分支事务完成提交或回滚 ????????????????? 二、Seata服务端部署? ? ? ? 1:下载? ? ? ? ? ? ? ? 地址:http://seata.io/zh-cn/blog/download.html ? ? ? ? ? ? ? ? 选择版本下载。我使用的是1.3 ???????????????? ????????2:上传解压???????????????? ????????3:修改conf下的registry.conf?? ? ? ? ? ? ? ? 配置注册中心和配置中心 ???????????????? ???????????????? ????????4:nacos添加seata需要配置? ? ? ? ? ? ? ? 【1】:对源码路径seata-1.3.0\script\config-center目录下的config.txt进行修改 ???????????????????????? ? ? ? ? ? ? ? ? ? ? ? ? ?需要修改的项 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? my_tesst_cc_group需要记住以后会使用到 ???????????????????????? ????????????????【2】:上传到nacos ? ? ? ? ? ? ? ? ? ? ? ? 进入源码seata-1.3.0\script\config-center\nacos下执行nacos-config.sh ? ? ? ? ? ? ? ? ? ? ? ? 可是使用Git Bash窗口执行就行 ? ? ? ? ? ? ? ? ? ? ? ? 命令:$ sh nacos-config.sh -h 192.168.231.149 -p 8848 -g SEATA_GROUP ???????????????????????? ? ? ? ? ? ? ? ? ????????? ???????????????????????? ????????5:创建数据库? ? ? ? ? ? ? ? sql文件可以在源码\seata-1.3.0\script\server\db目录下复制 ???????????????? ? ? ? ? ? ? ? ? ?进行执行创建表后 ???????????????? ????????6:启动运行? ? ? ? ? ? ? ? 命令:?./seata-server.sh -p 9091 ????????????????? ? ? ? ? ? ? ? ? ?成功 ???????????????? 三、Spring Boot集成????????1:修改pom????????????????
????????2:添加配置文件file.conf和registry.conf。? ? ? ? ? ? ? ? registry.conf与服务器上的保持一致。直接拷贝过来即可 ? ? ? ? ? ? ? ? file.conf如下所示 ? ? ? ? ? ? ? ? vgroupMapping配置与nacos中的配置保持一致 ???????????????????
????????3:修改application.yml添加配置???????????????? ????????4:添加dataSource配置???????????????? ?????????
????????5:业务数据库创建undo_log表???????????????? ? ? ? ? ? ? ? ? 建表语句:
????????6:修改启动类???????????????? ????????7:启动各个服务,在业务方法上使用@GlobalTransactional进行分布式事务控制???????????????? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 | -2025/4/12 2:24:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |