一,server 端的存储模式为:
Server 端 存 储 模 式 (store-mode) 支 持 三 种 :
file: ( 默 认 ) 单 机 模 式 , 全 局 事 务 会 话 信 息 内 存 中 读 写 并 持 久 化 本 地 文 件 root.data , 性 能 较 高 ( 默 认 )。
db: 高 可 用 模 式 , 全 局 事 务 会 话 信 息 通 过 d b 共 享 , 相 应 性 能 差 些。
redis: Seata-server 1 3 及 以 上 版 本 支 持 , 性 能 较 高 , 存 在 事 务 信 息 丢 失 风 险 , 请 提 前 配 置 适 合 当 前 场 景 的 red is 持 久 化 配 置。
资 源 目 录 : https://github.com/seata/seata/tree/l . 3.0/scri Qt
· client
存 放 client 端 sq | 脚 本 , 参 数 配 置
· config-center
各 个 配 置 中 心 参 数 导 入 脚 本 , config.txt( 包 aserver和Client , 原 名 nacos-config.txt ) 为 通 用 参 数 文 件
server
server 端 数 据 库 脚 本 及 各 个 容 器 配 置。

注:如果对seata 不了解可以参考文章:Spring Cloud Alibaba分布式事务组件 seata 详解(小白都能看懂) - 古渡蓝按 - 博客园 (cnblogs.com)

二,修改存储模式

我们使用DB模式。

修改配置文件:file.conf (路径:seata/conf/file.conf)

1,修改默认配置:

搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)-LMLPHP

 2,配置DB信息

搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)-LMLPHP

 3,创建数据库

 4,新建表结构,运行第三步里面SQL文件

搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)-LMLPHP

5,配置nacos 注册中心

为什么? 因为微服务或者客户端要和事务协调者进行通信,我们得注册到注册中心,不然无法进行通信。

6,修改配置中心的文件 registry.conf  (路径:seata/conf/registry.conf)

 搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)-LMLPHP

 搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)-LMLPHP

 7,可以配置负载均衡的策略(也可以不用)

 搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)-LMLPHP

 8,为什么要用配置中心?对各个seata的配置进行一个统一保存。

修改配置中心:registry.conf  (路径:Seata/conf/registry.conf) 注:行号,这个是第7行,config里面进行修改。

搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)-LMLPHP

 如果使用的是 file 模式的话,它存储的就是在config.txt 里面。

搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)-LMLPHP

 9,修改config.txt,里面还有个默认的是file 改成 DB。这些配置最后都会注册成 data ID。

搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)-LMLPHP

 10,读取配置文件

搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)-LMLPHP

 如果要在远端(linux服务器),我们可以使用命令。

Shell

sh ${SEATAPATH}/script/config-center/nacos/nacos-config.sh -h localhost -p 8848 -g SEATA_GROUP -T XXXX(这里自己配置)

 搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)-LMLPHP

注册成功:它会把每一个的配置都注册成一个 data ID。

搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)-LMLPHP

 11,启动 Seata Server 

 搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)-LMLPHP

 12,搭建client 端

1.在项目中导入依赖:

搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)-LMLPHP

 2,对各个微服务对应的数据库添加undo_log 表(记录数据的操作)

搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)-LMLPHP

 3,如果进行了分组,就在nacos.seata 配置分组信息

搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)-LMLPHP

 4,告诉客户端的注册信息

搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)-LMLPHP

 5,编写配置中心

搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)-LMLPHP

 6,使用分布式注解: @GlobalTransactional

到这里就可以使用分布式组件 Seata 了。

编写不易:点个关注,或者打赏一下吧!!!

03-26 00:03