生产环境可用的 Seata-go 1.2.0 发布
Seata-go 1.2.0 已正式发布。 Seata 是一个非常成熟的分布式事务框架,在 Java 领域是事实上的分布式事务技术标准平台。Seata-go 是 seata 多语言生态中的 Go 语言实现版本,实现了 Java 和 Go 之间的互通,让 Go 开发者也能使用 seata-go 来实现分布式事务。请访问Seata 官网查看快速开始和文档。 Seata-go 的原理和 Seata-java 保持一致,都是由 TM、RM 和 TC 组成,其中 TC 的功能复用 Java 的,TM 和 RM 功能后面会和 Seata-java 对齐。 发布概览 Seata-go 1.2.0 版本支持 XA 模式。XA 协议是由 X/Open 组织提出的分布式事务处理规范,其优点是对业务代码无侵入。当前 Seata-go 的 XA 模式支持 MySQL 数据库。至此,Seata-go 已经集齐 AT、TCC、Saga 和 XA 四种事务模式,完成了与 Seata Java 的功能对齐。 XA 模式的主要功能: 支持 XA 数据源代理 支持 XA 事务模式 XA 相关的 Samples 可以参考示例: https://github.com/seata/seata-go-samples/tree/main/xa 在本版本中还修复了近期大量用户在使用过程中提交的 issue。 版本的主要更新如下 Feature: [#467]实现 XA 模式支持 MySQL https://github.com/seata/seata-go/pull/467 [#534] 支持 Session 的负载均衡 https://github.com/seata/seata-go/pull/534 Bugfix: [#540] 修复初始化 XA 模式的 bug https://github.com/seata/seata-go/pull/540 [#545] 修复 XA 模式获取 db 版本号的 bug https://github.com/seata/seata-go/pull/545 [#548] 修复启动 XA 时候会失败的 bug https://github.com/seata/seata-go/pull/548 [#556] 修复 XA 数据源的 bug https://github.com/seata/seata-go/pull/556 [#562] 修复提交 XA 全局事务的 bug https://github.com/seata/seata-go/pull/562 [#564] 修复提交 XA 分支事务的 bug https://github.com/seata/seata-go/pull/564 [#566] 修复使用 XA 数据源执行本地事务的 bug https://github.com/seata/seata-go/pull/566 Optimize: [#523] 优化 CI 流程 https://github.com/seata/seata-go/pull/523 [#525] 将 Jackson 序列化重命名为 JSON https://github.com/seata/seata-go/pull/525 [#532] 移除重复的代码 https://github.com/seata/seata-go/pull/532 [#536] 优化 go import 代码格式 https://github.com/seata/seata-go/pull/536 [#554] 优化 XA 模式的性能 _https://github.com/seata/seata-go/pull/_554 [#561] 优化 XA 模式的日志输出 https://github.com/seata/seata-go/pull/561 Test: [#535] 添加集成测试 https://github.com/seata/seata-go/pull/535 Doc: [#550] 添加 1.2.0 版本的改动日志 https://github.com/seata/seata-go/pull/550 详情查看 Release Notes。