SpringCloud Alibaba之Seata入门及踩坑

前言

上一篇老顾介绍了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配置

此文件是执行配置中心脚本时,都会读取的文件,里面配置了核心信息


扫描二维码关注公众号,回复: 12064301 查看本文章

上面的自定义组名,一定要记住,后面在配置客户端应用的时候,需要配置组名一致 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之前的版本配置信息的位置是不一样的,千万记住哦。

下篇我们就介绍实战案例,以及会遇到的一个大坑,以及解决方案。

猜你喜欢

转载自blog.csdn.net/EnjoyEDU/article/details/108667018