当前位置:网站首页>Seata安装Window环境

Seata安装Window环境

2022-06-10 18:00:00 -小龙人

一、介绍

Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。
中文官网      部署指南

二、下载

进入Seata下载页面选择版本下载即可。我这里下载的1.3.0版本,后面的配置基于此版本说明。
在这里插入图片描述

三、配置

1. 服务端储存模式配置

Server端存储模式现有file、db、redis三种。

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

配置文件位置:安装包下 /conf / file.conf,原文件见下截图
在这里插入图片描述
原配置文件模式为file文件模式,可选择配置DB,Redis模式,这里我们配置常用模式DB。切换DB模式时,需注意使用的数据库版本,这里默认配置的数据库驱动为8.0版本以下的,如果是8.0以上版本的数据库,需要改动驱动名称。
在这里插入图片描述
这里配置好了数据库,那么就需要建立对应的库以及相关表。

2. DB模式创建数据库

Seata官方提供了数据库脚本,只需要下载导入数据库即可,脚本在源码中Script文件夹下,见 Seata-Script,在 部署指南 文档中也有提示:
在这里插入图片描述
在这里插入图片描述
server文件中db下有数据库脚本,将对应脚本执行即可。
在这里插入图片描述
到这里单机版的seata已经搭建好了,可以在bin文件下执行脚本seata-server.bat,即可运行seata的服务。

但在实际使用中,我们通常会建立一个高可用的seata集群,配合注册中心使用,如Nacos,多个seata服务集群,会考虑负载均衡,上面我们将seata客户端的配置如存储配置DB都是放在本地的文件,当使用集群时,一个配置改动需要去每个seata服务端改动文件,效率低且容易出错, 可以将这些配置注册在Nacos中,利用Nacos对各个seata进行负载均衡,并统一管理seata的配置。

3. 注册中心配置

客户端即事务参与者需要和seata事务协调者进行通信,这里建议使用Nacos注册中心,seata服务注册到Nacos中后,可进行相应的负载均衡操作。
配置文件位置与服务端存储配置相同:安装包下 /conf / registry.conf
在这里插入图片描述

4. 配置中心配置

seata的服务端配置文件信息如上面设置的DB配置和一些其他的配置,也可以放入Nacos中,默认这些配置是在本地的/conf / file.conf文件中,当我们搭建seata集群时,可以共用Nacos中的seata配置。
配置文件位置与注册中心配置相同:安装包下 /conf / registry.conf
在这里插入图片描述
那么就需要将seata中的配置注册到Nacos中,seata针对配置中心的配置提供了类似MySQL的脚本,同样在资源中,在Script文件下config-center / config.txt文件中
在这里插入图片描述
打开seata提供的配置文件可以看到里面很多配置项,这些大部分为默认配置都不需要改动(可以删除),只需要针对服务端的存储配置修改为DB模式,存储在MySQL中,这个配置在上文中/conf / file.conf 文件已经改过一次,这里我们只需要相同的改动即可。
在这里插入图片描述
配置改完了,但最终是要注册在Nacos中,seata这里也同样做了一个注册的脚本,可以将配置文件注册到Nacos中,在该配置文件目录中,可以看到seata提供了多种注册中心的工具,里面就有相应的脚本。
在这里插入图片描述
在Nacos中有shell和python脚本,这里我们使用shell脚本,但我们前面的seate服务器部署在window上无法执行shell文件,这里可以使用本地git环境来操作。在脚本文件夹中打开Git Bash,执行脚本即可,下面截图中指定了Nacos服务地址端口,若不指定默认使用本地Naocs服务默认端口。
在这里插入图片描述
自定义参数说明:
-h:host,默认值localhost
-p:port,默认值8848
-g:默认分组,默认值"SEATA_GROUP"
-t:租户信息,对应Nacos的命名空间ID字段,默认值空
在这里插入图片描述
到这里我们使用了Nacos将seata部署为高可用的模式,可以去启动seata服务,在bin文件下执行文件seata-server.bat,这里也可以用自定义方式启动,自定义参数如下:

参数权限作用备注
-h–host指定在注册中心的注册IP不指定时获取当前IP,外部访问部署在云环境和容器中的server,建议指定
-p–post指定server启动的端口默认为8091
-m–storeMode事务日志存储方式支持file,db,redis,默认file
-n–serverNode用于指定seata-server节点ID如1,2,3…,默认为1
-e–seataEnv指定seata-server运行环境如dev,prod等,服务启动时会使用registry-dev.conf这样的配置

默认方式启用截图:
在这里插入图片描述
seata服务启动成功后,会被注册到Nacos中,这时我们需要使用seata来处理分布式事务,只需要调用Nacos中注册的Seata服务即可,需要维护相应的配置信息也只需要在Nacos中修改相应配置。
在这里插入图片描述

原网站

版权声明
本文为[-小龙人]所创,转载请带上原文链接,感谢
https://wangqilong.blog.csdn.net/article/details/124877857