Seata 2.2.0:下载、部署与 Nacos + MySQL 集成教程

Seata 2.2.0 下载、部署与集成 Nacos+MySQL 完整教程

在微服务架构中,分布式事务一直是核心痛点,Seata 作为一款开源的分布式事务解决方案,能够高效保证微服务架构下的数据一致性。本文将按照官方标准流程,详细讲解 Seata 2.2.0 版本的下载、解压、配置、启动全流程,同时集成 Nacos 作为注册配置中心、MySQL 作为存储模式,让你快速搭建可用的 Seata 服务端。

一、Seata 下载与解压

1.1 下载地址

Seata 官方下载地址:Apache Seata Downloads

本文使用稳定版本:apache-seata-2.2.0-incubating

  • 源码包:apache-seata-2.2.0-incubating-src.zip

  • 二进制包:apache-seata-2.2.0-incubating-bin.tar.gz

1.2 解压目录结构

下载二进制包后解压,核心目录说明:

  • bin:启动脚本(Windows 用 .bat,Linux 用 .sh)

  • conf:配置文件目录

  • lib:项目依赖包

  • script:脚本文件(含数据库建表语句、配置中心脚本)

  • seata-server:事务协调服务端(TC),负责全局事务协调管理

  • seata-namingserver:Seata 原生注册中心


二、修改配置(集成 Nacos)

Seata 支持多种注册 / 配置中心:nacos、consul、apollo、zookeeper、etcd 等,本文使用Nacos。

2.1 配置文件路径

修改:/seata\-server/conf/application\.yml

参考模板:/seata\-server/conf/application\.example\.yml

2.2 核心配置修改

将注册与配置类型从 file 改为 nacos,并填写 Nacos 地址:

yaml 复制代码
seata:
  config:
    # 配置中心类型
    type: nacos
    nacos:
      server-addr: 127.0.0.1:8848
      namespace: ''
      group: SEATA_GROUP
  registry:
    # 注册中心类型
    type: nacos
    nacos:
      application: seata-server
      server-addr: 127.0.0.1:8848
      group: SEATA_GROUP

三、修改存储模式(集成 MySQL)

Seata 支持 4 种存储模式:file、db、redis、raft。

  • file:单机模式,性能高,数据本地持久化

  • db:高可用模式,数据共享,生产环境推荐

本文使用 db 模式。

3.1 初始化数据库

  1. 创建 Seata 数据库
sql 复制代码
CREATE DATABASE IF NOT EXISTS seata;
  1. 执行建表语句
    路径:/seata\-server/script/server/db/mysql\.sql
    核心表:
  • global\_table:全局事务表

  • branch\_table:分支事务表

  • lock\_table:全局锁表

3.2 修改 store 配置

在 application\.yml 中修改存储模式为 db,并配置 MySQL 信息:

yaml 复制代码
store:
  # 存储模式改为 db
  mode: db
  db:
    datasource: druid
    db-type: mysql
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/seata?rewriteBatchedStatements=true
    user: root
    password: root
    min-conn: 10
    max-conn: 100
    global-table: global_table
    branch-table: branch_table
    lock-table: lock_table
    distributed-lock-table: distributed_lock
    vgroup-table: vgroup_table
    query-limit: 1000
    max-wait: 5000

四、启动 Seata Server

4.1 Windows 启动

直接双击:/seata\-server/bin/seata\-server\.bat

启动成功日志:

Plain 复制代码
seata server started in 1574 millSeconds
you can visit seata console UI on http://127.0.0.1:7091

4.2 Linux 启动

  1. 解压
bash 复制代码
tar zxvf apache-seata-2.2.0-incubating-bin.tar.gz -C ../seata
  1. 启动(指定 IP + 端口)
bash 复制代码
bash ./bin/seata-server.sh -h 你的IP -p 8091
  1. 停止
bash 复制代码
bash ./bin/seata-server.sh stop

4.3 端口说明

  • 7091:控制台 Web 端口

  • 8091:客户端 TCP 通信端口


五、验证启动成功

  1. 访问控制台

    地址:http://127\.0\.0\.1:7091

    账号 / 密码:seata/seata

  2. 查看 Nacos 服务

    打开 Nacos 服务列表,能看到 seata\-server 服务已注册,说明集成成功。


总结

本文完整演示了 Seata 2.2.0 从下载→解压→Nacos 配置→MySQL 存储配置→启动→验证的全流程,按照步骤操作即可快速搭建生产级 Seata 服务端。

核心要点:

  1. 注册 / 配置中心统一使用 Nacos

  2. 生产环境推荐 db 存储模式,提前建表

  3. Windows 用 bat 启动,Linux 用 sh 脚本

  4. 控制台端口 7091,通信端口 8091

下一篇将讲解 Spring Cloud 集成 Seata 实现分布式事务。

相关推荐
运维行者_10 小时前
应用性能监控怎么选?从调用链到用户体验的五个能力维度
运维·服务器·数据库·人工智能·mysql·性能优化·应用性能监控
曹牧15 小时前
C#:空合并运算符
java·前端·数据库
小羊没烦恼!16 小时前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
泡海椒17 小时前
JQuick-SQL JOIN 查询:连接注册数据集的正确方式
数据库·sql
xiaogai_gai17 小时前
钉钉月结报销到金蝶付款单同步方案实战教程
大数据·数据库·钉钉
Nturmoils18 小时前
报表总在扫大表,列存储应该放在哪一层
数据库
夜雪一千18 小时前
ShardingSphere 雪花 / UUIDv7 主键分片实战 + SQL 建表示例
数据库·sql
Elastic 中国社区官方博客18 小时前
Elasticsearch:安装自行管理的 Elastic Stack 集群
大数据·运维·服务器·数据库·elasticsearch·搜索引擎·全文检索
PingCAP19 小时前
Agent 从 Demo 到生产,到底卡在哪?
数据库·tidb·agent