Seata-go 1.1.0 發佈,補齊 AT 模式支持

圖片

圖片

發佈概覽

Seata-go 1.1.0 版本補齊了 AT 模式下對 Multi Delete、Multi Update、Insert on Update 和 Select for Update 的支持。至此 Seata-go 的 AT 模式與 Seata AT 模式全面對齊。

此版本給出了在 Dubbo-go/Gin/gRPC 中使用 Seata-go TCC/AT 兩種模式的示例。

示例鏈接:https://github.com/seata/seata-go-samples/tree/main/at

AT 模式:

AT 模式支持並集成了 Multi Delete SQL 語法

AT 模式支持並集成了 Multi Update SQL 語法

AT 模式支持並集成了 Insert on Update SQL 語法

AT 模式支持並集成了 Select for Update SQL 語法

配置文件:

完善了更多地方讀取配置文件功能

版本的主要更新如下

Feature:

[#491] 支持查詢全局事務鎖

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

[#482] 支持 AT 模式 Multi Delete SQL 執行器

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

[#481] 支持 AT 模式 Multi Update SQL 執行器

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

[#478] 支持 AT 模式 Select for Update SQL 執行器

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

[#477] 支持 Undo Log 的 Json 序列化方式

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

[#456] 支持 AT 模式 Insert on Update SQL 執行器

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

[#444] 支持 BZip 壓縮算法

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

[#436] 支持讀取 RM 相關的配置文件

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

[#433] 支持 XA 連接管理器

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

[#430] 支持讀取 Getty 相關的配置文件

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

Bugfix:

[#509] 修復 AT 模式下執行 Insert on Update 時 Undo Log 的 SQLType 字段的問題

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

[#495] 修復 Undo Log 的 SQLType 字段的問題

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

[#487] 修復 AT 執行時出現的問題

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

[#472] 修復全局事務中上下文丟失值問題

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

[#461] 修復 Error_Code_test 中變量未定義導致的 CI 失敗問題

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

[#459] 修復 Error 日誌重複打印問題

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

[#452] 修復 AT 模式執行 Insert SQL 時 ID 增的報錯問題

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

Optimize:

Seata-go 的示例項目已經全部遷移到新的倉庫:

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

[#507] 優化 AT 模式 Multiple Update SQL 執行器

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

[#505] 優化 AT 模式 Multi SQL 執行器

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

[#453] 優化 Message Type 和 Transaction error Code 枚舉值

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

[#447] 優化數據源初始化流程

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

[#466] 優化變量的命名

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

Test:

[#445] 添加 Transaction error Code 的單元測試

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

Doc:

[#492] 更新 Readme 文件的已完成功能列表

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

[#489] 添加 1.1.0 版本的 Change Log

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

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

致謝

非常感謝以下 Contributors 的代碼貢獻。若有無意遺漏,請報告。

@luky116 https://github.com/luky116

@georgehao https://github.com/georgehao

@lxfeng1997 https://github.com/lxfeng1997

@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

@springrain https://github.com/springrain

@Shaozhou Hu https://github.com/raspberry-hu

@finkyky https://github.com/Finkyky

同時,我們收到了社區反饋的很多有價值的 issue 和建議,非常感謝大家。

未來展望

Seata 社區近期與不少國內 go 語言微服務框架以及 ORM 框架背後的開發社區達成合作,比如 GORM 框架,已經集成到了 Sample 中,後續會將更多的 ORM 框架集成在 Seata-go-Samples 項目中。與 MOSN 社區的合作也在推進中,可實現真正的基於 Seata 的 Transaction Mesh。

Seata-go-samples 集成到 Seata-go GitHub Actions 的集成測試環境,目前已經在進行中,用於測試每個 PR,保證系統的兼容性與穩定性。

預計在 4 月中旬發佈的 Seata-go v1.2.0,將實現 XA 分佈式事務模式。Seata-go 正在開發中的 Saga 模式,將在現有的 Seata Saga 模式之上實現一定的突破:實現基於工作流的微服務編排能力。

當前的 Saga 模式僅實現了服務編排的正向推進與反向 Rollback 能力,更進一步的服務編排則可以實現 DAG、定時任務、任務批量調度,覆蓋工作流的所有流程,提升用戶在 Seata 這個平臺上的使用體驗。目前 Seata-go 依賴於 Seata Java 的 TC,按照這個工作計劃,可能需要在未來的 Seata-go 版本中實現一個功能更強大的 TC 調度。

Seata 多語言版本,目前發展最快的就是 Seata-go,其次成熟度較高的是 Seata-php,目前發展比較快的還有 Seata-js,歡迎對開源感興趣的朋友加入 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

本週推薦閱讀

圖片 Seata-go 發佈 1.0.3,補齊 AT 模式

圖片 Seata-go 1.0 重磅發版

圖片 Seata 多語言體系建設

圖片 Seata AT 模式代碼級詳解

圖片

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章