|
| 1 | +--- |
| 2 | +title: "Seata-go 1.1.0 发布,补齐 AT 模式支持" |
| 3 | +authorlink: "https://github.com/sofastack" |
| 4 | +description: "Seata-go 1.1.0 发布,补齐 AT 模式支持" |
| 5 | +categories: "SOFAStack" |
| 6 | +tags: ["SOFAStack"] |
| 7 | +date: 2023-03-14T15:00:00+08:00 |
| 8 | +cover: "https://mdn.alipayobjects.com/huamei_soxoym/afts/img/A*IK-BTa1-DLkAAAAAAAAAAAAADrGAAQ/original" |
| 9 | +--- |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | +## 发布概览 |
| 14 | + |
| 15 | +Seata-go 1.1.0 版本补齐了 AT 模式下对 Multi Delete、Multi Update、Insert on Update 和 Select for Update 的支持。至此 Seata-go 的 AT 模式与 Seata AT 模式全面对齐。 |
| 16 | + |
| 17 | +此版本给出了在 Dubbo-go/Gin/gRPC 中使用 Seata-go TCC/AT 两种模式的示例。 |
| 18 | + |
| 19 | +示例链接:[https://github.com/seata/seata-go-samples/tree/main/at](https://github.com/seata/seata-go-samples/tree/main/at) |
| 20 | + |
| 21 | +**AT 模式:** |
| 22 | + |
| 23 | +- AT 模式支持并集成了 Multi Delete SQL 语法 |
| 24 | +- AT 模式支持并集成了 Multi Update SQL 语法 |
| 25 | +- AT 模式支持并集成了 Insert on Update SQL 语法 |
| 26 | +- AT 模式支持并集成了 Select for Update SQL 语法 |
| 27 | + |
| 28 | +**配置文件:** |
| 29 | + |
| 30 | +完善了更多地方读取配置文件功能 |
| 31 | + |
| 32 | +## 版本的主要更新如下 |
| 33 | + |
| 34 | +### Feature: |
| 35 | + |
| 36 | +[#491] 支持查询全局事务锁 |
| 37 | +[https://github.com/seata/seata-go/pull/491](https://github.com/seata/seata-go/pull/491) |
| 38 | + |
| 39 | +[#482] 支持 AT 模式 Multi Delete SQL 执行器 |
| 40 | +[https://github.com/seata/seata-go/pull/482](https://github.com/seata/seata-go/pull/482) |
| 41 | + |
| 42 | +[#481] 支持 AT 模式 Multi Update SQL 执行器 |
| 43 | +[https://github.com/seata/seata-go/pull/481](https://github.com/seata/seata-go/pull/481) |
| 44 | + |
| 45 | +[#478] 支持 AT 模式 Select for Update SQL 执行器 |
| 46 | +[https://github.com/seata/seata-go/pull/478](https://github.com/seata/seata-go/pull/478) |
| 47 | + |
| 48 | +[#477] 支持 Undo Log 的 Json 序列化方式 |
| 49 | +[https://github.com/seata/seata-go/pull/477](https://github.com/seata/seata-go/pull/477) |
| 50 | + |
| 51 | +[#456] 支持 AT 模式 Insert on Update SQL 执行器 |
| 52 | +[https://github.com/seata/seata-go/pull/456](https://github.com/seata/seata-go/pull/456) |
| 53 | + |
| 54 | +[#444] 支持 BZip 压缩算法 |
| 55 | +[https://github.com/seata/seata-go/pull/444](https://github.com/seata/seata-go/pull/444) |
| 56 | + |
| 57 | +[#436] 支持读取 RM 相关的配置文件 |
| 58 | +[https://github.com/seata/seata-go/pull/436](https://github.com/seata/seata-go/pull/436) |
| 59 | + |
| 60 | +[#433] 支持 XA 连接管理器 |
| 61 | +[https://github.com/seata/seata-go/pull/433](https://github.com/seata/seata-go/pull/433) |
| 62 | + |
| 63 | +[#430] 支持读取 Getty 相关的配置文件 |
| 64 | +[https://github.com/seata/seata-go/pull/430](https://github.com/seata/seata-go/pull/430) |
| 65 | + |
| 66 | +**Bugfix:** |
| 67 | + |
| 68 | +[#509] 修复 AT 模式下执行 Insert on Update 时 Undo Log 的 SQLType 字段的问题 |
| 69 | +[https://github.com/seata/seata-go/pull/509](https://github.com/seata/seata-go/pull/509) |
| 70 | + |
| 71 | +[#495] 修复 Undo Log 的 SQLType 字段的问题 |
| 72 | +[https://github.com/seata/seata-go/pull/495](https://github.com/seata/seata-go/pull/495) |
| 73 | + |
| 74 | +[#487] 修复 AT 执行时出现的问题 |
| 75 | +[https://github.com/seata/seata-go/pull/487](https://github.com/seata/seata-go/pull/487) |
| 76 | + |
| 77 | +[#472] 修复全局事务中上下文丢失值问题 |
| 78 | +[https://github.com/seata/seata-go/pull/472](https://github.com/seata/seata-go/pull/472) |
| 79 | + |
| 80 | +[#461] 修复 Error_Code_test 中变量未定义导致的 CI 失败问题 |
| 81 | +[https://github.com/seata/seata-go/pull/461](https://github.com/seata/seata-go/pull/461) |
| 82 | + |
| 83 | +[#459] 修复 Error 日志重复打印问题 |
| 84 | +[https://github.com/seata/seata-go/pull/459](https://github.com/seata/seata-go/pull/459) |
| 85 | + |
| 86 | +[#452] 修复 AT 模式执行 Insert SQL 时 ID 增的报错问题 |
| 87 | +[https://github.com/seata/seata-go/pull/452](https://github.com/seata/seata-go/pull/452) |
| 88 | + |
| 89 | +**Optimize:** |
| 90 | + |
| 91 | +Seata-go 的示例项目已经全部迁移到新的仓库:[https://github.com/seata/seata-go-samples](https://github.com/seata/seata-go-samples) |
| 92 | + |
| 93 | +[#507] 优化 AT 模式 Multiple Update SQL 执行器 |
| 94 | +[https://github.com/seata/seata-go/pull/507](https://github.com/seata/seata-go/pull/507) |
| 95 | + |
| 96 | +[#505] 优化 AT 模式 Multi SQL 执行器 |
| 97 | +[https://github.com/seata/seata-go/pull/505](https://github.com/seata/seata-go/pull/505) |
| 98 | + |
| 99 | +[#453] 优化 Message Type 和 Transaction error Code 枚举值 |
| 100 | +[https://github.com/seata/seata-go/pull/453](https://github.com/seata/seata-go/pull/453) |
| 101 | + |
| 102 | +[#447] 优化数据源初始化流程 |
| 103 | +[https://github.com/seata/seata-go/pull/447](https://github.com/seata/seata-go/pull/447) |
| 104 | + |
| 105 | +[#466] 优化变量的命名 |
| 106 | +[https://github.com/seata/seata-go/pull/466](https://github.com/seata/seata-go/pull/466) |
| 107 | + |
| 108 | +**Test:** |
| 109 | + |
| 110 | +[#445] 添加 Transaction error Code 的单元测试 |
| 111 | +[https://github.com/seata/seata-go/pull/445](https://github.com/seata/seata-go/pull/445) |
| 112 | + |
| 113 | +**Doc:** |
| 114 | + |
| 115 | +[#492] 更新 Readme 文件的已完成功能列表 |
| 116 | +[https://github.com/seata/seata-go/pull/492](https://github.com/seata/seata-go/pull/492) |
| 117 | + |
| 118 | +[#489] 添加 1.1.0 版本的 Change Log |
| 119 | +[https://github.com/seata/seata-go/pull/489](https://github.com/seata/seata-go/pull/489) |
| 120 | + |
| 121 | +英文版:[https://github.com/seata/seata-go/releases/tag/v1.1.0](https://github.com/seata/seata-go/releases/tag/v1.1.0) |
| 122 | + |
| 123 | +**致谢** |
| 124 | + |
| 125 | +非常感谢以下 Contributors 的代码贡献。若有无意遗漏,请报告。 |
| 126 | + |
| 127 | +@luky116 |
| 128 | +[https://github.com/luky116](https://github.com/luky116) |
| 129 | + |
| 130 | +@georgehao |
| 131 | +[https://github.com/georgehao](https://github.com/georgehao) |
| 132 | + |
| 133 | +@lxfeng1997 |
| 134 | +[https://github.com/lxfeng1997](https://github.com/lxfeng1997) |
| 135 | +@106umao |
| 136 | +[https://github.com/106umao](https://github.com/106umao) |
| 137 | +@wang1309 |
| 138 | +[https://github.com/wang1309](https://github.com/wang1309) |
| 139 | +@iSuperCoder |
| 140 | +[https://github.com/iSuperCoder](https://github.com/iSuperCoder) |
| 141 | +@Charlie17Li |
| 142 | +[https://github.com/Charlie17Li](https://github.com/Charlie17Li) |
| 143 | +@Code-Fight |
| 144 | +[https://github.com/Code-Fight](https://github.com/Code-Fight) |
| 145 | +@Kirhaku |
| 146 | +[https://github.com/Kirhaku](https://github.com/Kirhaku) |
| 147 | +@Vaderkai |
| 148 | +[https://github.com/VaderKai](https://github.com/VaderKai) |
| 149 | +@springrain |
| 150 | +[https://github.com/springrain](https://github.com/springrain) |
| 151 | +@Shaozhou Hu |
| 152 | +[https://github.com/raspberry-hu](https://github.com/raspberry-hu) |
| 153 | +@finkyky |
| 154 | +[https://github.com/Finkyky](https://github.com/Finkyky) |
| 155 | + |
| 156 | +同时,我们收到了社区反馈的很多有价值的 issue 和建议,非常感谢大家。 |
| 157 | + |
| 158 | +### 未来展望 |
| 159 | + |
| 160 | +Seata 社区近期与不少国内 go 语言微服务框架以及 ORM 框架背后的开发社区达成合作,比如 GORM 框架,已经集成到了 Sample 中,后续会将更多的 ORM 框架集成在 Seata-go-Samples 项目中。与 MOSN 社区的合作也在推进中,可实现真正的基于 Seata 的 Transaction Mesh。 |
| 161 | + |
| 162 | +Seata-go-samples 集成到 Seata-go GitHub Actions 的集成测试环境,目前已经在进行中,用于测试每个 PR,保证系统的兼容性与稳定性。 |
| 163 | + |
| 164 | +预计在 4 月中旬发布的 Seata-go v1.2.0,将实现 XA 分布式事务模式。Seata-go 正在开发中的 Saga 模式,将在现有的 Seata Saga 模式之上实现一定的突破:实现基于工作流的微服务编排能力。 |
| 165 | + |
| 166 | +当前的 Saga 模式仅实现了服务编排的正向推进与反向 Rollback 能力,更进一步的服务编排则可以实现 DAG、定时任务、任务批量调度,覆盖工作流的所有流程,提升用户在 Seata 这个平台上的使用体验。目前 Seata-go 依赖于 Seata Java 的 TC,按照这个工作计划,可能需要在未来的 Seata-go 版本中实现一个功能更强大的 TC 调度。 |
| 167 | + |
| 168 | +Seata 多语言版本,目前发展最快的就是 Seata-go,其次成熟度较高的是 Seata-php,目前发展比较快的还有 Seata-js,欢迎对开源感兴趣的朋友加入 Seata 开源建设中来。 |
| 169 | + |
| 170 | +**常用链接** |
| 171 | + |
| 172 | +**Seata:** |
| 173 | +[http://github.com/seata/seata](http://github.com/seata/seata) |
| 174 | +[https://github.com/seata/seata-php](https://github.com/seata/seata-php) |
| 175 | +[https://github.com/seata/seata-js](https://github.com/seata/seata-js) |
| 176 | +[https://github.com/seata/seata-go](https://github.com/seata/seata-go) |
| 177 | + |
| 178 | +**Samples:** |
| 179 | +[https://github.com/seata/seata-samples](https://github.com/seata/seata-samples) |
| 180 | +[https://github.com/seata/seata-go-samples](https://github.com/seata/seata-go-samples) |
| 181 | + |
| 182 | +**官网:** |
| 183 | +[https://seata.io/](https://seata.io/) |
| 184 | + |
| 185 | +**投稿** |
| 186 | + |
| 187 | +欢迎大家将 Seata/Seata-go/Seata-php/Seata-js 相关的实践文章投稿至:[https://www.yuque.com/fred-x/ngfgiz/le1h4u5kn0xyhhoh](https://www.yuque.com/fred-x/ngfgiz/le1h4u5kn0xyhhoh) |
| 188 | + |
| 189 | +**Seata Star 一下** |
| 190 | +[https://github.com/seata/seata-go](https://github.com/seata/seata-go) |
0 commit comments