Seata作为分布式事务的解决方案,现在用的人应该不少,小弟在此献丑总结了一下部署操作,
只希望对大家能够有所帮助。
首先说一下什么是Seata?
Seata是一个灵活的、高性能的分布式事务解决方案,可用于支持微服务架构中的事务一致性。
Seata提供了三种分布式事务模式:AT(自动化事务,类似于本地事务)、TCC(Try-Confirm-Cancel,适用于对业务逻辑较敏感的场景)和SAGA(适用于长事务和异步场景)。
上面的都是我抄的,害有很多,你们自己搜搜就知道。
环境准备
- linux服务器
- JDK8或更高版本
- 数据库(本文用的MYSQL,其他数据库自己改下配置就行)
- NACOS,没有安装的上网找一下怎样安装哈(做为注册中心和配置中心最好用nacos,要是用apollo、zk、eureka等这些的话,配置中心和注册中心要搞两套,麻烦!)
下载Seata
我想直接
wget https://github.com/seata/seata/releases/download/v1.7.0/seata-server-1.7.0.zip
这样下载,但是网络不行,没下载下来,所以可以直接 点击这里 选择版本手动进行下载,然后扔服务器上。
我选的1.7.0的版本
解压Seata
到对应的压缩包文件下
unzip seata-server-1.7.0.zip
创建数据库并建表
- 创建数据库
CREATE DATABASE seata CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
- 初始化数据库
CREATE TABLE IF NOT EXISTS `global_table`
(
`xid` VARCHAR(128) NOT NULL,
`transaction_id` BIGINT,
`status` TINYINT NOT NULL,
`application_id` VARCHAR(32),
`transaction_service_group` VARCHAR(32),
`transaction_name` VARCHAR(128),
`timeout` INT,
`begin_time` BIGINT,
`application_data` VARCHAR(2000),
`gmt_create` DATETIME,
`gmt_modified` DATETIME,
PRIMARY KEY (`xid`),
KEY `idx_status_gmt_modified` (`status` , `gmt_modified