Seata-go 1.0 重磅发版

bb29b85eb7f599989f8cdbc06d54a0ce.gif

文|

赵新(花名:于雨 )

蚂蚁集团 Seata 项目开源负责人

本文 2953 字 阅读 10 分钟

发布概览

主要新增特性:

  1. 支持以 gRPC、HTTP 方式实现 TCC 调用;

  2. 支持 TCC 防悬挂和空回滚自动处理;

  3. 支持 TCC 模式一阶段传入用户自定义参数;

  4. 支持 AT 模式的数据源代理;

  5. AT 模式支持并集成了 Update 语法解析(其中 Insert、Delete、Multi Delete、Multi Insert 等语法解析工作已完成但是未集成);

  6. 支持了事务异步处理功能。

上半年工作规划

Seata-go 后续主要工作如下:

  • 集成 AT 模式 Insert、Delete、Multi Delete、Multi Insert ;

  • XA 模式开发;

  • 与其他生态互联互通,构建一体化的微服务基础设施平台:

    • 与 MOSN 等 Service Mesh 生态互通,达成生产可用的 Transaction Service Mesh 技术形态;

    • 与 Dapr 社区合作,推进分布式事务标准 API 工作;

    • 与 RocketMQ 合作,推进分布式消息事务模式工作;

    • 与各种 Go 语言 ORM 库合作,在不修改任何业务代码的情况下,以零成本实现 单体服务/微服务 平台的分布式事务;

    • 与 Dubbogo 社区的 Dubbo-go/Dubbo-go-pixiu 等产品合作,保证微服务间的一致性。

版本主要更新

Feature

[#190] 添加分支状态上报接口 

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

[#158] TCC 模式支持 gRPC 调用

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

[#213] 支持数据源代理功能

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

[#240] 删除日志管理功能

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

[#243] 添加 Update SQL 语法解析器

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

[#191] 支持 TCC 防悬挂、空回滚处理功能

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

[#264] 添加更新 SQL 解析器并删除 TiDB 解析器

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

[#280] TCC 支持 HTTP 调用

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

[#245] 支持 hasLogTable 判断逻辑

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

[#288] 添加 Update SQL 的 Undo Log 生成功能

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

[#296] 添加 Delete SQL 的 Undo Log 生成功能

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

[#303] 添加异步处理器

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

[#289] 撤销日志生成器后添加 MySQL 更新

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

[#294] 添加 MySQL 元数据查询

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

[#309] 初始化压缩类型

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

[#301] 添加 Multi SQL 的 Undo Log 生成功能

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

[#321] 添加 DEFLATE 压缩功能

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

[#324] 添加 LZ4 压缩功能

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

[#327] 添加 Zstd 压缩功能

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

[#322] 添加 Gzip 压缩功能

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

[#307] 添加 Flush Undo Log 功能

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

[#329] 添加 Zip 压缩功能

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

[#325] 添加 Multi update SQL 的 Undo Log 生成功能

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

[#330] 添加 Multi delete SQL 的 Undo Log 生成功能

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

[#319] 添加选择更新执行器

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

[#320] 添加 Undo 逻辑

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

[#337] 添加插入 Undo Log 逻辑

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

[#355] 支持根据配置判断 Undo Log 保存字段个数

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

[#365] 回滚 AT 之前做脏数据校验

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

Bugfix

[#237] 修复在执行 OpenConnector 函数时候注册资源的 bug

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

[#230] 修复远程异步调用无限循环的 bug

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

[#258] 修复全局事务超时的 bug

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

[#263] 修复 Mock 数据的 bug

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

[#326] 修复 Fan-out 单元测试 bug

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

[#350] 修复 panic 的 bug

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

[#359] 修复插入 Undo Log 的 MySQL 参数 bug

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

[#360] 修复 AT 回滚例子 bug

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

[#363] 修复 Meta Data bug

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

[#365] 修复反序列化 Undo Log bug

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

Optimize

[#187] 优化 Seata-go 初始化流程

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

[#196] 优化远程调用方法参数

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

[#200] 添加 TCC gRPC 样例,优化注册资源和分支注册

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

[#208] 优化删除不必要代码

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

[#215] 优化使时间参数,提高可读性

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

[#179] 支持 TCC 一阶段传入用户自定义参数

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

[#198] 优化远程调用方法的传参

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

[#235] 调整 MessageType 枚举值命名规范

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

[#238] 添加一些待办事项注释,添加 Hook 例子

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

[#261] 优化嵌套循环重试

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

[#284] 优化重试逻辑

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

[#286] 将 RM 和 TM 的初始化逻辑拆分

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

[#287][#295] 重构 Seata Conn 逻辑

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

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

[#281] 优化全局事务使用

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

[#302] 修改 Dubbo-go 版本

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

[#336] 优化 AT 整体流程

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

[#346] [#354] 优化 AT 事务提交流程

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

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

[#352] 优化获取元数据流程

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

[#353] 修改方法接收者命名规范

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

[#356] 优化 AT 事务回滚流程

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

Test

[#154] 添加 Message 单元单测

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

[#163] 添加 TM 单元单测

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

[#203] 添加 Getty 单元测试

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

[#204] 添加 Dubbo Filter 单元测试

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

[#210] 添加 TCC 分支报告测试

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

[#192] 添加 RM 单元测试

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

[#229] 添加 Common 单元测试

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

[#299] 添加 SQL Parser 单元测试

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

[#332] 添加 Multi Delete Uundo Log 单元测试

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

[#358] 添加 AT 回滚的例子

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

Doc

[#202] 优化 GitHub CI 流程,添加 condecov 、 issue CI 工作流

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

[#254] 添加自动检查 licence 的脚本

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

[#305] 修改 CI 不要自动关闭 issue 和 PR

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

致谢

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

AlexStocks:

https://github.com/AlexStocks

luky116:

https://github.com/luky116

106umao:

https://github.com/106umao

liiibpm:

https://github.com/liiibpm

elrond-g:

https://github.com/elrond-g

wang1309:

https://github.com/wang1309

iSuperCoder:

https://github.com/iSuperCoder

a631807682:

https://github.com/a631807682

betterwinsone:

https://github.com/betterwinsone

jasondeng1997:

https://github.com/jasondeng1997

chuntaojun:

https://github.com/chuntaojun

complone:

https://github.com/complone

miaoxueyu:

https://github.com/miaoxueyu

PangXing:

https://github.com/PangXing

georgehao:

https://github.com/georgehao

baerwang:

https://github.com/baerwang

raspberry-hu:

https://github.com/raspberry-hu

WyattJia:

https://github.com/WyattJia

Code-Fight:

https://github.com/Code-Fight

betterwinsone:

https://github.com/betterwinsone

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

社区讨论群

扫扫加入微信群:

35e5fd4e06f10b473d05307a9e203f22.jpeg

钉钉群号:44816898 33069364

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

  本周推荐阅读  

c1edb9a01e646e52b80f318604451ec3.png

Seata AT 模式代码级详解

e66e215aaa8a8ab0be5f739e7d4969cb.png

蚂蚁集团境外站点 Seata 实践与探索

feba4ecaec2de6150c1ce9e43d0db7c7.png

Seata 多语言体系建设

e005d0c330121c84ce3504970e7ec456.png

Seata-php 半年规划

96b4018b4cc7c002065ddf2205213ead.jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值