目录
1.首先找到下载位置https://github.com/seata/seata/releases,选择你要下载的版本,到版本号的下面找到Assets,点击直接下载
seata-server-1.8.0.zip解压都指定的目录并修改conf目录下的file.conf配置文件。
修改seata-server-1.8.0\seata\conf目录下的registry.conf(注册配置文件)配置文件。
3.在mysql5.7.24中建数据库seata,在seata库里创建表,创建表的sql不用自己写。
前言:
单体应用被拆分成微服务应用,原来的模块被拆分成独立的应用,分别使用独立的数据源,业务操作需要调用多个服务来完成。此时每个服务内部的数据一致性由本地事务来保证,但是全局的数据一致性问题没法保证,一次业务操作需要跨多个数据源或跨多个系统进行远程调用,就会产生分布式事务的问题。我们将使用seata来解决
什么是seata
Seata
是一款开源的分布式事务的解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。
Seata 的官网地址:http://seata.io/zh-cn/
在Seata框架中有三个典型的角色:
- TC(Transaction Coordinator) -- 事务协调器,维护全局事务的运行状态,负责协调并驱动全局事务的提交或回滚。
- TM(Transaction Manager) -- 控制全局事务的边界,负责开启一个全局事务,并最终发起全局提交或全局回滚的决议。
- RM(Resource Manager) -- 控制分支事务,负责分支注册,状态汇报,并接受事务协调器的指令,驱动分支(本地)事务的提交和回滚
典型的Seata管理分布式事务的生命周期
(XID (Transaction ID) (解释:全局唯一的事务ID) )
- TM向TC申请开启一个全局事务,全局事务创建成功并性成一个全局唯一的ID:
- XID在微服务调用链路的上下文中传播:
- RM向TC注册分支事务,将其纳入XID对应全局事务的管辖:
- TM向TC发起针对ID的全局提交或回滚决议:
- TC调度XID下管辖的全部分支事务完成提交或回滚请求。
seata的下载及安装
1.首先找到下载位置https://github.com/seata/seata/releases,选择你要下载的版本,到版本号的下面找到Assets,点击直接下载
2.seata文件的修改
seata-server-1.8.0.zip解压都指定的目录并修改conf目录下的file.conf配置文件。
1
、先备份原始
file.conf
文件
,
可以更名为
file
出厂默认
.conf,避免修改遗失
2
、主要修改:自定义事务组的名称
+
事务日志存储模式为
db+
数据库的连接信息
3
、
file.conf
主要修改的模块为两个
3.1
、
service
模块
:
第31
行:
vgroup_mapping.my_test_tx_group = "default"
更改为 vgroup_mapping.my_test_tx_group = "fsp_tx_group"
注意:
fsp
是随意起的名字,可以自定义。
3.2
、
store
模块
:
第
57
行:
mode = "file"
更改为
mode = "db"
第82
行:要将数据库信息更改成自己的。
修改seata-server-1.8.0\seata\conf目录下的registry.conf(注册配置文件)配置文件。
1、先备份
registry.conf
副本,名为
registry
出厂默认
.conf
。
2
、第三行:将
type = "file"
更改成
type = "nacos"
。
//
指名注册中心为
nacos
。
3
、第六行:将
serverAddr = "localhost"
更改为
serverAddr = "localhost:8848"
。
//
更改
nacos
的连接信息
3.在mysql5.7.24中建数据库seata,在seata库里创建表,创建表的sql不用自己写。
db_store.sql在seata-server-1.8.0\seata\conf目录里面--db_store.sql,直接拷贝粘贴就好。拷贝粘贴sql后在seata库注解运行,运行成功后会生成3张表:branch_table(分支表),global_table(全局表),lock_table(锁表)。
4.先启动nacos端口8848
5.再启动seata-server。
启动
seata
的两种方式:
方式一:直接来到
seata
的
bin
目录下双击
seata-server.bat
。
方式二:来到
bin
目录下,在命令行上
cmd,
然后
seata-server.bat -->
回车,使用命令行进行启动。
6.Seata启动成功的标志:已经装载注册进nacos。
seata启动能否成功的问题
seata低版本0.9.0配置连接mysql8.0版本:解决
这个是转载:Seata0.9.0大坑之连接MySQL8.0_seata-server0.9.0配置连接mysql8.0_月落呜啼霜满天天天的博客-CSDN博客
剩下的问题大部分都是数据库配置连接没有写成自己的,没有进行修改