有道无术,术尚可求,有术无道,止于术。
本系列Seata 版本 2.0.0
本系列Spring Boot 版本 3.2.0
本系列Spring Cloud 版本 2023.0.0
源码地址:https://gitee.com/pearl-organization/study-seata-demo
文章目录
- 1. 概述
- 2. 环境要求
- 3. 直接部署
- 3.1 下载
- 3.2 目录介绍
- 3.2.1 bin
- 3.2.2 conf
- 3.2.3 ext
- 3.2.4 lib
- 3.2.5 logs
- 3.2.6 script
- 3.2.7 target
- 3.2.8 Dockerfile
- 3.2.9 LICENSE
- 3.3 启动
1. 概述
Seata包含TC、TM和RM三大角色,其中TM和RM属于Seata Client端,由业务系统集成,TC属于Seata Server端,需要单独部署。
Seata Server支持多种方式部署:
- 直接部署
DockerDocker-ComposeKubernetesHelm
接下面我们先讲解如何单机部署Seata服务端,另外篇章再讲解业务系统集成Seata客户端。
2. 环境要求
以下是部署 Seata-Server 的最低环境要求:
| 项目 | 要求 |
|---|---|
| JDK | JDK 8 或更高版本 |
| CPU | 1 核及以上,支持 64 位的 CPU |
| 内存 | 2G 及以上 |
| 硬盘 | 无最小要求,需要根据日志、存储模式等配置具体调整 |
| 系统 | 64 位的 Linux、Mac OS X、Windows |
3. 直接部署
直接部署 是指下载压缩包进行部署。
3.1 下载
在Github地址下载压缩包:

3.2 目录介绍
下载完成后,解压到任意目录:

3.2.1 bin
bin目录下包含了四个脚本:

各脚本说明如下:
seata-server.bat:用于Windows、Mac系统启动、重启、停止seata-server.sh:用于Linux系统启动、重启、停止seata-setup.sh:用于设置JVM参数startup.sh:无内容的空文件
3.2.2 conf
conf目录下包含了日志、服务端程序配置文件及示例:

logback目录提供了多种Logback日志事件输出组件配置示例,例如输出到控制台、文件、Kafka、Logstash、Seata Metric等:

其他文件说明如下:
application.example.yml:Seata服务端配置示例application.raft.example.yml:使用Raft事务存储模式服务端配置示例application.yml:Seata服务端配置logback-spring.xml:Logback日志配置文件
3.2.3 ext
ext目录提供了SkyWalking(应用性能监控工具)用到的一些插件、Agent包:

apm-skywalking目录下:

plugins目录下:

3.2.4 lib
lib目录存放了Seata服务端程序用到的相关Jar依赖包:

3.2.5 logs
logs目录用于存放Seata服务端程序输出日志:

3.2.6 script
script目录存放了一些脚本:
config-center:配置中心logstash:Logstash日志处理server:服务端相关

config-center提供了集成配置中心时,导入配置用的相关脚本:

提供了日志收集处理时,使用logstash的相关配置示例:

server目录:
db:服务端使用数据库会话存储模式时的建表SQL脚本docker-compose:使用docker-compose部署时的yml文件helm:使用Helm部署时的yml文件kubernetes:使用Kubernetes部署时的yml文件

3.2.7 target
target目录存放了Seata服务端jar包:

3.2.8 Dockerfile
Dockerfile是Seata服务端构建Docker镜像时用到的文件:

3.2.9 LICENSE
LICENSE是Seata声明的开源协议文件,可以看到使用的是Apache 2.0:

3.3 启动
使用脚本直接启动即可。
在 Linux/Mac 下:
$ sh ./bin/seata-server.sh
在Windows 下:
bin\seata-server.bat
支持的启动参数:
| 参数 | 全写 | 作用 | 备注 |
|---|---|---|---|
| -h | –host | 指定在注册中心注册的 IP | 不指定时获取当前的 IP,外部访问部署在云环境和容器中的 server 建议指定 |
| -p | –port | 指定 server 启动的端口 | 默认为 8091 |
| -m | –storeMode | 事务日志存储方式 | 支持file,db,redis,默认为 file 注:redis需seata-server 1.3版本及以上 |
| -n | –serverNode | 用于指定seata-server节点ID | 如 1,2,3…, 默认为 1 |
| -e | –seataEnv | 指定 seata-server 运行环境 | 如 dev, test 等, 服务启动时会使用 registry-dev.conf 这样的配置 |
示例:
$ sh ./bin/seata-server.sh -p 8091 -h 127.0.0.1 -m file
启动完成后,日志中可以看到控制台的访问端口为7091,服务端通信端口为8091:

访问http://localhost:7091/,使用seata/seata登录后,成功进入到控制台,部署成功:
