Seata-go 发布 1.0.3,补齐 AT 模式

news2025/1/11 10:04:13

3ee4d5340f279ab40905985784328db2.gif

文|赵新(花名:于雨 )

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

本文 3902 字 阅读 10 分钟

发布概览

Seata-go 1.0.3 版本补齐了 AT 模式下对 Insert/Delete 的支持,这意味着除了 “select for update” 外,Seata-go 的 AT 模式与 Seata  AT 模式全面对齐。

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

示例链接:https://github.com/seata/seata-go/tree/master/sample/tcc

AT 模式

- AT 模式支持并集成了 Insert 语法解析;

- AT 模式支持并集成了 Delete 语法解析。

配置文件:

- 支持了读取配置文件功能。

版本的主要更新如下

Feature:

[#380] 支持 MySQL XA 的连接

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

[#383] 支持 TCC Fence 读取配置文件

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

[#389] 添加 XA 模式的事务 ID

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

[#398] 支持 TM 读取配置文件

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

[#399] 支持 getty 读取配置文件

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

[#405] 支持 AT 模式 Insert on duplicate SQL 解析

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

[#406] 支持 transport 读取配置文件

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

[#410] 支持 Undo Log 读取配置文件

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

[#411] 在项目中使用 TM 的配置文件属性

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

[#412] 支持 RM 读取配置文件

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

[#413] 支持 Service 读取配置文件

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

[#419] 在项目中使用 Undo Log 的配置文件属性

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

[#421] 支持 Service 读取配置文件

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

Bugfix:

[#387] 修复 OpenConnector 中死循环的问题

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

[#401] 优化注册事务分支的流程

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

[#418] 修复 Undo Log 的配置文件的问题

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

[#423] [#424]修复 getty 初始化失败的问题

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

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

[#429] 修复 AT 模式执行失败的问题

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

Optimize:

[#366] AT 回滚前添加数据校验逻辑

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

[#367] 优化 AT 代码的命名

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

[#369] 移除不用的方法

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

[#385] 优化 AT sample 的建表SQL

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

[#388] 优化代码注释,删除不用的代码

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

[#390] 优化 RM 的初始化流程

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

[#392] 优化代码的风格问题

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

[#394] 重构 AT 模式的执行器

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

[#400] 优化 Protocol 的初始化流程

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

[#408] 优化 Log 的初始化流程

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

[#409] 重构 AT 模式的 Delete 和 Insert SQL 的执行逻辑

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

[#414] 重命名单测文件

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

[#422] 移除未使用的 config 代码

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

Doc:

[#417] 调整 ReadMe 文件内容

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

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

致谢

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

@AlexStocks:

https://github.com/AlexStocks

@luky116:

https://github.com/luky116

@georgehao:

https://github.com/georgehao

@lxfeng1997:

https://github.com/lxfeng1997

@106umao:

https://github.com/106umao

@liiibpm:

https://github.com/liiibpm

@wang1309:

https://github.com/wang1309

@iSuperCoder:

https://github.com/iSuperCoder

@jasondeng1997:

https://github.com/jasondeng1997

@Charlie17Li:

https://github.com/Charlie17Li

@Code-Fight:

https://github.com/Code-Fight

@Kirhaku:

https://github.com/Kirhaku

@wang1309:

https://github.com/wang1309

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

社区讨论群

扫扫加入钉钉群:

Seata-go 社区群:33069364

d481679d9ec1db633d2a2d380d667b71.png

Seata-go 开发群:44816898

0d7dbde2e4f6373404289fb09748356b.png

未来展望

从下个版本( v1.0.4 )开始,Seata-go 所有这些示例将全部迁移到:https://github.com/seata/seata-go-samples

Seata 社区近期与不少国内 Go 语言微服务框架以及 ORM 框架背后的开发社区达成合作,我们将在他们集成 Seata-go 后给出更多使用示例。

除了给出与更多微服务框架的集成示例外,我们也将根据 Seata 的使用场景,给出更多诸如商品交易从下订单到商品出货仓等诸多场景的使用示例,也欢迎更多业界同行参与建设 Seata-go-samples。后期我们将会把 Seata-go-samples 集成到 Seata-go GitHub Actions 的集成测试环境,用于测试每个 PR,保证系统的兼容性与稳定性。

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 相关的实践文章投稿至:alexstocks@foxmai.com

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

  本周推荐阅读  

7e239760844b6029731314c7db4337b2.png

Seata AT 模式代码级详解

ac5c5fe80e94e5f1ce12443435ab4453.png

Seata-go 1.0 重磅发版

613fb748e4d5daab5e1b438fae780891.png

Seata 多语言体系建设

7a2b1e27d1009b5e48c79d2ca2f3e3ae.png

Seata-php 半年规划

20aa943c5c86c5b311b8c6772be61bce.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/146238.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【c++】 STL的组件简介与容器的使用时机

STL六大组件简介 STL提供了六大组件,彼此之间可以组合套用,这六大组件分别是:容器、算法、迭代器、仿函数、适配器(配接器)、空间配置器。 容器:各种数据结构,如vector、list、deque、set、map等,用来存放…

ECS概述

1.ECS概述ECS全称Entity-Component-System(实体-组件-系统),是基于组合优于继承(将不变的部分使用继承以方便复用, 将多变的部分用组合来方便拓展)的原则的一种模式,游戏中的每一个单元&#xf…

使用Redis踩过的16个坑

如果你在使用 Redis 时,也遇到过以下这些「诡异」的场景,那很大概率是踩到「坑」了: 明明一个 key 设置了过期时间,怎么变成不过期了? 使用 O(1) 复杂度的 SETBIT 命令,Redis 竟然被 OOM 了? 执行 RANDOMKEY 随机拿出一个 key,竟然也会阻塞 Redis? 同样的命令,为什么…

Linux基础命令学习(Bandit通关)(未完成)

一、前言 Bandit是一个学习Linux的网站,它采用游戏通关的方式来帮助我们学习linux基本使用的命令,十分适合没有基础或基础较弱的同学学习。【虽然是英文但是很容易,用翻译也可】 官网地址是:OverTheWire: Bandit 二、第一~六关…

自从用了这个良心浏览器后,我卸载了UC,太香了

要是以前如果有人问我手机上用什么浏览器好,我肯定一律无脑推荐UC浏览器。一方面它确实功能强大,另一方面是用了很多年已经习惯了,有感情因素在。然而,这次可能要打自己的脸了。 最近,有了个“新欢”,其实…

线程3

一.阻塞队列阻塞队列,也是特殊的队列,虽然也是先进先出的,但是带有特殊功能。阻塞:1.如果队列为空,执行出队列操作,就会阻塞,阻塞到另一个线程往队列中添加元素(队列不空为止&#x…

C程序设计笔记(上篇)

笔记正文 第一模块 C基础知识 考试大纲的要求 (1)掌握数据类型、变量和赋值; (2)掌握输入和输出; (3)掌握基本运算符和表达式; (4)了解简单控制…

米尔国产开发平台T507-H之Android系统发布说明

安卓系统作为目前世界上最受欢迎的移动操作系统,它可以在大量的设备上使用,它正在接管平板电脑、汽车、智能电视、可穿戴设备、家用电器、游戏机等市场,它为嵌入式平台提供了独特而熟悉的体验,从小的手机屏幕到显示器,…

SpringCloud 网关组件 Gateway 原理深度解析

引入网关的必要性 在微服务架构下,我们一般会把相对独立的业务或功能划分为不同的服务,不同服务之间相互隔离,独立部署。这些微服务由服务注册中心集中管理。对于来自外部的用户请求来说,在处理请求的核心业务逻辑之前&#xff0…

Vector - VT System - 模拟输入仿真_VT2004

在我们的测试工作中,经常会遇到一些模拟信号的输入,如果我们使用实际的样件的话一个成本过高,另外一个就是对我们测试人员对环境搭建要求过高,因此最好的办法就是有一个设备能够模拟我们需要的任意信号,这样就能完美的…

Pytorch TextCNN实现中文文本分类(附完整训练代码)

Pytorch TextCNN实现中文文本分类(附完整训练代码) 目录 Pytorch TextCNN实现中文文本分类(附完整训练代码) 一、项目介绍 二、中文文本数据集 (1)THUCNews文本数据集 (2) 今日头条文本数据集 (3)自…

字节跳动青训营笔试题解

文章目录前言一、单选题二、多选题三、编程题T1.旋转数组最大值题目思路代码T2.社交圈题目思路代码四、简答题题目思路前言 第五届字节跳动青训营-后端专场笔试题解,简单做了一下,选择题和简答题不知道是否正确,编程题是通过了的&#xff0c…

基于javaSpringboot+mybatis+layui的装修验收管理系统设计和实现

基于javaSpringbootmybatislayui的装修验收管理系统设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文…

创建List保存学生信息

1 问题创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合。2 方法1、定义学生类2、创建List集合对象3、创建学生对象4、将学生添加到集合5、遍历集合创建的学生类代码:package no10;public class Student { …

uni微信小程序,打开地图,跳转第三方

一、需求 微信小程序 需要点击并跳转第三方地图软件导航,并计算到目标位置距离 二、思路 思路: 1.接口返回需要有位置的经纬度,这个自行在后台编辑获取 2.需要获取用户的位置权限 我这边使用的是uniapp,需要使用官方封装两个…

threejs官方demo学习(3):几何体

webgl_geometries 这个案例还是比较简单的,主要介绍了一些创建物体的创建。 知识点 PointLight PointLight 点光源,从一个点向各个方向发出光线的光源,比如灯泡。 BoxGeometry BoxGeometry 立方缓冲几何体 SphereGeometry SphereGeometr…

C 程序设计教程(04)—— C 语言的数据类型(二):构造数据类型

C 程序设计教程(04)—— C 语言的数据类型(二):构造数据类型 该专栏主要介绍 C 语言的基本语法,作为《程序设计语言》课程的课件与参考资料,用于《程序设计语言》课程的教学,供入门…

【Go基础】结构体和流程控制语句

文章目录一、结构体1. 结构体创建、访问与修改2. 结构体指针3. 结构体嵌套4. 深拷贝与浅拷贝二、流程控制语句1. if2. switch3. for4. break与continue5. goto与Label一、结构体 1. 结构体创建、访问与修改 定义结构体 type User struct {id intscore float32enrollment tim…

项目实用方式总结

目录 一、后端接收前端请求的方式 1、接收前端传递的单个参数 直接加在url后 通过?拼接 2、接收Json对象 3、一次传递多个数据不使用实例对象的方式 二、vue中使用动态数字 使展示的数字从0动态增长到指定数字 三、在Vue中使用动态数据 四、使用插槽获取表…

项目分享-校园宿舍管理系统

DormitoryManage 一、简介 项目简述: 本系统采用MVCJ2EEMysql实现,使用是Tomcat10.0作为WEB服务器,提供适应性强的Internet服务器功能,具有很高的执行效率。其中: JSP用于页面的设计,展示数据。Java用来处…