在自己的项目中直接启动 阿里巴巴 seata 分布式事务 服务

前提

  1. 分布式事务 seata 源码:GitHub - apache/incubator-seata: 🔥 Seata is an easy-to-use, high-performance, open source distributed transaction solution.
  2. 如果项目中使用了 seata 分布式事务,需要从 Index of /incubator/seata 下载已经编译好的二进制 jar
    包文件,以 2.5.0 版本为例,大小为 174M
  3. 现在 seata 属于 apache 基金会,正在孵化中,历史二进制会被删除(2026-01-09 时,只有 2.5.0 的安装包)
  4. 如果要将使用的二进制安装包储存起来代价有点高(近 200M 的大小)
  5. 如果能在项目中直接使用几个 依赖 和 java源文件 直接启动项目是最好的。
  6. 如果能将 seata-server 源码模块 发布到 Maven
    中央仓库,直接引入该模块最方便(项目中的代码最小,并且不会影响编译速度)
    • Maven 项目打包类型大概分为两类:
      • 作为依赖的 jar 包(仅包含当前项目的代码,无其他直接、间接依赖,大小通常在1M左右,源码编译完成在根目录下)
      • 作为 Spring Boot 打包(不仅包含当前项目的代码,还包含所使用的直接、间接依赖,大小通常最小有 40M+,源码编译完成在
        BOOT-INF/classes 文件夹中)

直接使用 Maven 依赖的示例

已发布的 seata-server 版本

  1. io.xuxiaowei.seata:seata-server:2.1.0
  2. io.xuxiaowei.seata:seata-server:2.2.0
  3. io.xuxiaowei.seata:seata-server:2.3.0
  4. io.xuxiaowei.seata:seata-server:2.4.0
  5. io.xuxiaowei.seata:seata-server:2.5.0

GitLab Runner CI/CD 流水线自动发布:https://gitlab.xuxiaowei.com.cn/xuxiaowei-io/seata