二、seata + nacos 配置(windows)

1.seata 是什么?

SEATA是什么?_没有计划。的博客-CSDN博客Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。AT模式是阿里首推的模式,阿里云上有商用版本的GTS(Global Transaction Service 全局事务服务)源码:官方Demo:seata版本:v1.4.0。https://blog.csdn.net/csl12919/article/details/127866444

 windows下配置nacos单机启动

windows下启动nacos(单机配置)_没有计划。的博客-CSDN博客1下载完成后,进行解压,之后打开 conf/application.properties文件。2.打开后,我们在文件的末尾添加mysql的配置信息,注意mysql的账号和密码。如果使用mysql持久化,腿本要跑下nacos-mysql.sql。如果下载过慢的话,可以使用迅雷下载。地址,并根据对应的版本进行下载。前提是数据库要有对应的。下面命令改成单机模式。https://blog.csdn.net/csl12919/article/details/127918531

2. Seata快速开始

2.1 Seata Server(TC)环境搭建

Server端存储模式(store.mode)支持三种:

  • file:单机模式,全局事务会话信息内存中读写并持久化本地文件root.data,性能较高
  • db:高可用模式,全局事务会话信息通过db共享,相应性能差些
  • redis:Seata-Server 1.3及以上版本支持,性能较高,存在事务信息丢失风险,请提前配置适合当前场景的redis持久化配置

资源目录:seata/script at 1.4.0 · seata/seata · GitHub

  • client

存放client端sql脚本,参数配置

  • config-center

各个配置中心参数导入脚本,config.txt(包含server和client,原名nacos-config.txt)为通用参数文件

  • server

server端数据库脚本及各个容器配置

db存储模式+Nacos(注册&配置中心)部署

步骤一:下载安装包

Releases · seata/seata · GitHub

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

(如果不能打开上方链接下载的小朋友,下载好的也有,需要积分。相关配置已按下方修改

启动包

seata-server-1.4.0.zip-Java文档类资源-CSDN下载seata-server-1.4.0更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/csl12919/87018612

 源码

seata-1.4.0.zip-Java文档类资源-CSDN下载seata源码更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/csl12919/87018585

)

 步骤二:建表(仅db模式)

全局事务会话信息由3块内容构成,全局事务-->分支事务-->全局锁,对应表global_table、branch_table、lock_table

创建数据库seata,执行sql脚本,文件在script/server/db/mysql.sql(seata源码)中

步骤三:修改store.mode

启动包: seata-->conf-->file.conf,修改store.mode="db"

 (这里我只修改了启动包的。)

源码: 根目录-->seata-server-->resources-->file.conf,修改store.mode="db"

步骤四:修改数据库连接

启动包: seata-->conf-->file.conf,修改store.db相关属性。

源码: 根目录-->seata-server-->resources-->file.conf,修改store.db相关属性。

步骤五:配置Nacos注册中心

将Seata Server注册到Nacos,修改启动包\seata\conf目录下的registry.conf配置

nacos中命名空间及ID,用户名密码配置

 

 然后启动注册中心Nacos Server

(nacos 文章后面会补上)

//进入Nacos安装目录,linux单机启动
bin/startup.sh -m standalone
//windows单机启动
bin/startup.bat

步骤六:配置Nacos配置中心

注意:如果配置了seata server使用nacos作为配置中心,则配置信息会从nacos读取,file.conf可以不用配置。 客户端配置registry.conf使用nacos时也要注意group要和seata server中的group一致,默认group是"DEFAULT_GROUP"

获取/seata/script/config-center/config.txt,修改配置信息

修改数据库相关配置

配置事务分组, 要与客户端配置的事务分组一致

(客户端properties配置:spring.cloud.alibaba.seata.tx‐service‐group=my_test_tx_group)

配置参数同步到Nacos

源码包路径:\script\config-center\nacos

 

 

 回车

shell:

sh nacos-config.sh -h localhost -p 8848 -g SEATA_GROUP -t 79141b4e-877b-41cb-a8b9-86aefc984d38 -u nacos -w nacos

参数说明:

-h: host,默认值 localhost

-p: port,默认值 8848

-g: 配置分组,默认值为 'SEATA_GROUP'

-t: 租户信息,对应 Nacos 的命名空间ID字段, 默认值为空 ''

-u:用户名

-w:密码

精简配置

service.vgroupMapping.my_test_tx_group=default
service.default.grouplist=127.0.0.1:8091
service.enableDegrade=false
service.disableGlobalTransaction=false
store.mode=db
store.db.datasource=druid
store.db.dbType=mysql
store.db.driverClassName=com.mysql.jdbc.Driver
store.db.url=jdbc:mysql://127.0.0.1:3306/seata?useUnicode=true
store.db.user=root
store.db.password=123456
store.db.minConn=5
store.db.maxConn=30
store.db.globalTable=global_table
store.db.branchTable=branch_table
store.db.queryLimit=100
store.db.lockTable=lock_table
store.db.maxWait=5000

完成后nacos控制台可以看到

 

 

 有8页。配置很多。

步骤七:启动Seata Server

  • 源码启动: 执行server模块下io.seata.server.Server.java的main方法
  • 命令启动: bin/seata-server.sh -h 127.0.0.1 -p 8091 -m db -n 1 -e test

 启动Seata Server

bin/seata-server.sh
bin/seata-server.sh -p 80

启动成功,默认端口8091

由于我的mysql是8.0、所以启动的时候出现了连接错误。修改步骤六配置文件

store.db.driverClassName=com.mysql.cj.jdbc.Driver
store.db.url=jdbc:mysql://127.0.0.1:3306/seata?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC

(有不完整的欢迎补充)

下一篇

seata 客户端(还在学习中)

猜你喜欢

转载自blog.csdn.net/csl12919/article/details/127864616#comments_26101252
今日推荐