前言
上一篇老顾介绍了Seata基本原理,今天老顾来介绍一下Seata的基本使用,可以避免让小伙伴们入坑,小伙伴们也要动手操作哦!
版本对应关系
经常看老顾文章的小伙伴们,应该清楚老顾是一直推荐SpringCloud Alibaba的系统的组件的,而且Seata也是阿里开源出来的,所以大家一定要知道SpringCloud Alibaba的生态的组件版本关系。
目录说明
到github中的seata项目中,下载release;并查看源文件中有个script文件
client目录
此目录存放用于客户端的配置和SQL
- at:AT模式下的undo_log建表语句
- conf:客户端的配置文件
- saga:saga模式下所需表的建表语句
- spirng:SpringBoot应用支持的配置文件
server目录
- db:server端,如模式为db时 所需表的建表语句
- docker-compose:docker容器化部署
- helm/kubernetes:k8s相关的部署
config-center目录
用于存放各种配置中心的初始化脚本文件;小伙伴们从文件夹名称中,一看就知道对应什么配置中心了。
我们看nacos-config.sh脚本文件中,就能够发现需要读取config.txt。
安装Seata-Server
seata-server的包比较难下载,github上比较慢,小伙伴们懂的
下载好了后,就看到
我们这次就把seata和nacos相结合。
创建Seata数据库
我们在源文件中script中的server/db目录中,打开mysql.sql,因为老顾这里使用的是mysql数据库;这个是在server存储模式为db数据库时才会有效,也是官方推荐的方式。
config.txt配置
此文件是执行配置中心脚本时,都会读取的文件,里面配置了核心信息
上面的自定义组名,一定要记住,后面在配置客户端应用的时候,需要配置组名一致 seata server的数据库的配置信息
执行nacos-config
执行初始化脚本nacos-config.sh配置到nacos中
chmod +x nacos-config.sh./nacos-config.sh localhost
执行脚本,看到此信息,表示初始化数据成功,我们再来看看nacos里面的信息。
可以在看到很多配置信息,以及Group组名为 SEATA_GROUP。
启动seata-server
修改seata-server目录中的conf里面,file.conf、registry.conf。
在registry.conf配置把seata-server注册到nacos中 ,并且配置中心也是为nacos。
seata-server中的配置信息放到nacos中
利用nacos作为配置中心,需要到nacos配置中心去配置数据存储方式,我们需要修改配置,可以到nacos里面修改。
注意:如果registry.conf中的config为file的话(个人测试用,生产环境不推荐),可以在file.conf中配置seata-server存储的方式配置为db,把事务相关的信息存储到数据库中
启动运行seata
命名参考:
Usage: sh seata-server.sh(适用 linux and mac) 或者 cmd seata-server.bat(适用 windows) [options]
#可携带参数 Options:
--host, -h
The host to bind. # 绑定ip地址
Default: 0.0.0.0
--port, -p # 端口
The port to listen.
Default: 8091 # 默认
--storeMode, -m #启动模式 文件 或数据库
log store mode : file、db
Default: file ##默认
--help #帮助
示例sh seata-server.sh -p 8091 -h 127.0.0.1 -m file
我们这里使用db数据库存储模式,运行 sh seata-server.sh
我们发现seata-server在nacos中已经注册了。到此seata-server已经安装完成。
总结
今天老顾主要介绍了seata版本关系,以及源项目中的文件目录含义,和如何安装seata server,在操作过程中,小伙伴们一定要注意相关的配置文件。
一定不要搞错了对应的seata版本,之前seata的1.0.0之前的版本配置信息的位置是不一样的,千万记住哦。
下篇我们就介绍实战案例,以及会遇到的一个大坑,以及解决方案。