有道无术,术尚可求,有术无道,止于术。
本系列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
支持多种方式部署:
- 直接部署
Docker
Docker-Compose
Kubernetes
Helm
接下面我们先讲解如何单机部署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
登录后,成功进入到控制台,部署成功: