部署指南
Seata新手部署指南
Seata分TC、TM和RM三个角色,TC(Server端)为单独服务端部署,TM和RM(Client端)由业务系统集成。
资源目录介绍
点击查看(或根据版本分支选择对应的资源目录)
- client
存放client端sql脚本 (包含 undo_log表) ,参数配置
- config-center
各个配置中心参数导入脚本,config.txt(包含server和client,原名nacos-config.txt)为通用参数文件
- server
server端数据库脚本 (包含 lock_table、branch_table 与 global_table) 及各个容器配置
注意事项
- seata-spring-boot-starter
内置GlobalTransactionScanner自动初始化功能,若外部实现初始化,请参考SeataAutoConfiguration保证依赖加载顺序
默认开启数据源自动代理,可配置seata.enable-auto-data-source-proxy: false关闭
- spring-cloud-starter-alibaba-seata
查看版本说明 2.1.0内嵌seata-all 0.7.1,2.1.1内嵌seata-all 0.9.0,2.2.0内嵌seata-spring-boot-starter 1.0.0, 2.2.1内嵌seata-spring-boot-starter 1.1.0
2.1.0和2.1.1兼容starter解决方案:
@SpringBootApplication注解内exclude掉spring-cloud-starter-alibaba-seata内的com.alibaba.cloud.seata.GlobalTransactionAutoConfiguration
- spring-cloud-starter-alibaba-seata推荐依赖配置方式
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-spring-boot-starter</artifactId>
<version>最新版</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-seata</artifactId>
<version>最新版本</version>
<exclusions>
<exclusion>
<groupId>io.seata</groupId>
<artifactId>seata-spring-boot-starter</artifactId>
</exclusion>
</exclusions>
</dependency>
启动Server
Server端存储模式(store.mode)现有file、db、redis、raft,file模式无需改动,直接启动即可,raft部署方式请访问专门部署文档,下面专门讲下db和redis启动步骤。
注: file模式为单机模式,全局事务会话信息内存中读写并异步(默认)持久化本地文件root.data,性能较高;
db模式为高可用模式,全局事务会话信息通过db共享,相应性能差些;
redis模式Seata-Server 1.3及以上版本支持,性能较高,存在事务信息丢失风险,请提前配置合适当前场景的redis持久化配置.
步骤一:启动包
- 点击下载
- 官方钉钉群(群号:23171167,1群5000人已满,2群, 3群: 32033786,4群:60170003910),qq群(群号: 254657148,2群: 216012363)群文件共享下载
步骤二:建表(仅db)
全局事务会话信息由3块内容构成,全局事务-->分支事务-->全局锁,对应表global_table、branch_table、lock_table
步骤三:修改store.mode
启动包: seata-->conf-->application.yml,修改store.mode="db或者redis"
源码: 根目录-->seata-server-->resources-->application.yml,修改store.mode="db或者redis"
步骤四:修改数据库连接|redis属性配置
启动包: seata-->conf-->application.example.yml中附带额外配置,将其db|redis相关配置复制至application.yml,进行修改store.db或store.redis相关属性。
源码: 根目录-->seata-server-->resources-->application.example.yml中附带额外配置,将其db/redis相关配置复制至application.yml,进行修改store.db或store.redis相关属性。
步骤五:启动
- 源码启动: 执行ServerApplication.java的main方法
- 命令启动: seata-server.sh -h 127.0.0.1 -p 8091 -m db
注: 堆内存建议分配2G,堆外内存1G