• 欢迎来到本博客,希望可以y一起学习与分享

seata使用

Java benz 2年前 (2021-07-15) 231次浏览 0个评论 扫描二维码
文章目录[隐藏]

前言

seata是阿里的分布式事务解决方案。seata 版本从1.0开始与之前的版本配置与使用有了较大区别。本文使用的版本是1.4

特别注意

除了下载seata-server以外,版本大于1.0的,还需要注意这个:https://github.com/seata/seata/tree/1.4.0/script。一些额外的配置文件都在这里了,根据自己的seata版本切换对应版本的分支即可。 目录结构

服务端

下载

下载地址:https://github.com/seata/seata/releases 下载并解压

目录结构

配置

registry.conf

registry.conf只有registry 和 config 两个大项配置。 registry :把seata服务注册到哪里。默认是file,大多数选择的是nacos 。选了那种类型,就配置对应的类型即可。 config :把seata服务的配置放到哪里。默认是file。

file.conf

这个是配置存储介质的。目前暂时支持file、db、redis。默认是file,如果选择db的话需要在数据库中导入三个表(https://github.com/seata/seata/tree/1.4.0/script/server/db,根据自己的数据库选择导入,注意分支版本要和seata的版本一致)。 Server端存储模式(store.mode)现有file、db、redis三种(后续将引入raft,mongodb),file模式无需改动,直接启动即可,下面专门讲下db和redis启动步骤。 注: file模式为单机模式,全局事务会话信息内存中读写并持久化本地文件root.data,性能较高; db模式为高可用模式,全局事务会话信息通过db共享,相应性能差些; redis模式Seata-Server 1.3及以上版本支持,性能较高,存在事务信息丢失风险,请提前配置合适当前场景的redis持久化配置.

将配置导入到nacos(config配置为nacos的看这里;file的,跳过这里)

需要的文件:https://github.com/seata/seata/tree/1.4.0/script/config-center,注意分支版本要和seata的版本一致。 下载并根据自己的需求修改config.txt config.txt就是seata各种详细的配置,执行 nacos-config.sh 即可将这些配置导入到nacos,这样就不需要将file.conf和registry.conf放到我们的项目中了,需要什么配置就直接从nacos中读取。

执行导入

命令解析:

-h -p 指定nacos的端口地址;-g 指定配置的分组,注意,是配置的分组;-t 指定命名空间id; -u -w指定nacos的用户名和密码,同样,这里开启了nacos注册和配置认证的才需要指定。

得到输出

最后直接启动seata

启动的时候一定要指定 ip,否则会引起can not connect to services-server

客户端

引入依赖

application.yml配置seata

在事务的主入口(即第一个事务)通过 @GlobalTransactional 开启全局异常,示例代码:

其余事务@Transactional

参考

部署指南(官方文档)
分布式事务 SEATA-1.4.1 AT模式 配合NACOS 应用
Seata 1.4.0 + nacos配置和使用,超详细


文章 seata使用 转载需要注明出处
喜欢 (0)

您必须 登录 才能发表评论!