头图

图片

文|刘月财(GitHub ID:luky116)

360 服务端开发专家

Seata-go 项目负责人

本文 2752 字 阅读 7 分钟

发布概览

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

英文版:https://github.com/seata/seata-go/releases/tag/v1.2.0

致谢

非常感谢以下 Contributors 的代码贡献。若有无意遗漏,请报告。

@georgehao

https://github.com/georgehao

@luky116

https://github.com/luky116

@jasondeng1997

https://github.com/jasondeng1997

@106umao

https://github.com/106umao

@wang1309

https://github.com/wang1309

@iSuperCoder

https://github.com/iSuperCoder

@Charlie17Li

https://github.com/Charlie17Li

@Code-Fight

https://github.com/Code-Fight

@Kirhaku

https://github.com/Kirhaku

@Vaderkai

https://github.com/VaderKai

同时,我们收到了社区反馈的很多有价值的 issue 和建议,非常感谢大家。

社区讨论群

扫码加入钉钉群:

Seata-go 社区群:33069364

图片

Seata-go 开发群:44816898
图片

未来展望

Seata 社区近期与不少国内 Go 语言微服务框架以及 ORM 框架背后的开发社区达成合作,比如 GORM 框架,已经集成到了 Sample 中,后续会将更多的 ORM 框架集成在 Seata-go-samples 项目中。

Seata-go-samples 集成到 Seata-go GitHub Actions 的集成测试环境,目前已经在进行中,用于测试每个 PR,保证系统的兼容性与稳定性。
Seata-go 后续的 Saga 模式,计划采用 Temporal 框架来做服务编排,目前正在规划中,期待能给用户带来更实用便利的 Saga 使用体验。

欢迎对开源感兴趣的朋友加入 Seata 开源建设中来。

常用链接

Seata:

http://github.com/seata/seata

https://github.com/seata/seata-php

https://github.com/seata/seata-js

https://github.com/seata/seata-go

Samples:

https://github.com/seata/seata-samples

https://github.com/seata/seata-go-samples

官网:

https://seata.io/

投稿

欢迎大家将 Seata/Seata-go/Seata-php/Seata-js 相关的实践文章投稿至:https://www.yuque.com/fred-x/ngfgiz/le1h4u5kn0xyhhoh

Seata Star 一下✨:
https://github.com/seata/seata-go


SOFAStack
426 声望1.6k 粉丝

SOFAStack™(Scalable Open Financial Architecture Stack)是一套用于快速构建金融级分布式架构的中间件,也是在金融场景里锤炼出来的最佳实践。