二、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

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

启动包

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 客户端(还在学习中)

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Seata可以注册到多种不同的注册中心,如nacos、eureka、redis、zk、consul、etcd3、sofa等。在配置文件中,可以通过修改registry.conf文件来指定Seata注册到哪个注册中心。例如,如果要将Seata注册到nacos,可以按照以下步骤进行配置: 1. 解压Seata安装包,进入seata\seata-server-1.4.1\seata\conf文件夹。 2. 打开registry.conf文件。 3. 在registry部分,将type参数设置为"nacos",表示选择注册中心为nacos。 4. 配置nacos的相关参数,如application、serverAddr、group、namespace等。 5. 在config部分,同样将type参数设置为"nacos",表示选择配置中心为nacos。 6. 配置nacos的相关参数,如serverAddr、namespace、group等。 这样,Seata就会将自身注册到nacos注册中心。根据具体需求,你也可以选择其他注册中心进行配置。\[1\]\[2\] 另外,客户端注册中心是指在分布式项目中的registry.conf配置文件中的registry.type参数,用于指定客户端在哪里发现Seata服务器。例如,如果Seata服务器由zookeeper管理,那么客户端只需向zookeeper发现Seata服务器即可。在registry.conf文件中,可以将type参数设置为"zk",并配置相应的zookeeper参数,如serverAddr、sessionTimeout、connectTimeout等。这样,客户端就可以通过zookeeper发现Seata服务器。\[3\] #### 引用[.reference_title] - *1* *3* [seata 的注册中心和配置中心](https://blog.csdn.net/qq_16320025/article/details/106076853)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [本地windows运行seata服务并注册到nacos中心](https://blog.csdn.net/baidu_36124158/article/details/119003825)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值