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

【信息科学与工程学】【数据中心】第三十五篇 云计算数据中心的学科知识04 编号学科(课程)核心知识点在云计算/云存储/云网络/云安全/云MaaS中的作用代表教材/资料/论文 + 数学方程式列表工业界应用D1421​云原生数据库:TiDB​HTAP(混合事务/分析处理)、分布式SQL、水平扩展、强一致(Raft)、自动故障恢复、与MySQL兼容、TiFlash列式引擎提供弹性扩展的分布式数据库;支撑高并发在线交易与实时分析教材:《TiDB in Action》PingCAP(2020) 论文:《TiDB: A Raft-based HTAP Database》(2017) 阅读详情

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

Golang Seata 分布式事务方案详解 Seata-Golang是基于Seata分布式事务框架的Golang实现,支持AT、TCC等事务模式。文章详细介绍了在Golang项目中集成Seata的方案:包括环境配置(安装、YAML文件设置)、AT模式实现(全局事务管理)、TCC模式开发(Try-Confirm-Cancel流程)、与GORM的集成方法,以及生产环境部署建议(高可用配置、性能调优)。同时提供了常见问题解决方案,帮助开发者构建可靠的分布式事务系统。该方案适用于微服务架构下的复杂业务场景。 阅读详情

相关推荐

seata-golang:像SEATA这样的分布式事务框架,支持TCC模式和AT模式。鼎语

西塔戈朗 钉钉群号33069364 一个朴素的想法 作为一个刚入Golang坑的普通微服务开发者所做的,很容易产生一个朴素的想法,希望Golang微服务也有分布式事务解决方案。本项目尝试将Java版的Seata改写一个Golang的版本。在Seata没有Golang版本client sdk的情况下,Golang版本的TC Server使用了和Java版Seata相同的通信协议,方便调试。开发者加入我们一起完善Golang版本的分布式事务解决方案。本方案参考了dubbo-go的实现。由于时间有限,且对golang的一些特性不甚了解,有些意识到不太优雅,希望有更多开发者来参与并优化它。 待办事项清单 内存会话管理器 数据库会话管理器(仅支持mysql) RAFT会话管理器 指标收集器 TM值 RM TCC RM AT 客户端合并请求 从配置中心读取配置 单元测试 运行TC 编译 cd

Golang 1.0.3 发布了,快更新吧

Go 语言发布 1.0.3 版本了,这是一个小更新版本,修了文档和实现的一些 bug,升级到这个版本对程序无需任何改动,完整的改进记录请看: [url]http://code.google.com/p/go/source/list?name=release-branch.go1[/url] [url=http://bpbp.iteye.com/blog/1591455]更新方法参考这里[/...

清炒苦瓜 188

Python自动化监控:实时捕捉LOF基金溢价套利机会并微信预警

本文详细介绍了如何使用Python构建一个自动化监控系统,实时捕捉LOF基金的溢价套利机会。通过AKShare获取基金数据,结合雪球API计算实时溢价率,并利用企业微信API实现微信推送预警,帮助投资者高效、自动地发现并抓住转瞬即逝的套利机会。

weixin_28327051的博客 526

分布式事务解决方案Seata-Golang浅析

seata-golang 分布式事务框架

阳光大男孩!!!的博客 2283

cutlass2.x源码解读之PitchLinearStripminedThreadMap

TensorCoord:使用layout::PitchLinearCoord作为张量坐标。Shape:使用模板参数Shape_作为tile的形状,kThreads:线程总数,定义为模板参数Threads。kElementsPerAccess:每次访问的元素数,定义为模板参数ElementsPerAccess。ThreadAccessShape:线程访问的形状,使用layout::PitchLinearShape定义。内部实现细节:ShapeVec。

jiangjkd的专栏 790

Ovito隐藏技巧:用Expression Selection快速提取分子链(附模糊背景配置参数)

本文详细介绍了Ovito软件中Expression Selection功能的隐藏技巧,用于从复杂的分子动力学模拟数据中快速、精准地提取目标分子链。通过结合Expand Selection和Invert Selection等修饰器,形成一套高效的工作流,并深入解析了实现SCI论文级渲染效果的景深模糊参数配置,帮助研究者大幅提升数据处理与图片生成效率。

pz890123的博客 869

推荐开源项目:Seata-Golang - 分布式事务解决方案

推荐开源项目:Seata-Golang - 分布式事务解决方案 在现代微服务架构中,保证事务的一致性是至关重要的。 是 Seata(Simple Extensible Autonomous Transaction Architecture)的 Golang 实现,它是一个高性能、轻量级的分布式事务管理框架,旨在提供全面的分布式事务解决方案。 项目简介 Seata-Golang 基于 Seata J...

gitblog_00063的博客 785

DSP烧写程序的步骤流程

1,先打开 “Code Composer Studio 5.5.0”软件,选择一个DSP的工作区路径(可自行选择,不能有中文路径),如下图 2,将烧写bin文件(例如Lss_Board0_xxx.bin、Lss_Board1_xxx.bin)拷贝至烧录工程文件夹WriteCode内。选择CCS Edit窗口选项,若隐藏可点击右侧>>符号,从菜单栏点击Project,选择Import Existing CCS Eclipse Project,从弹出的对话框中选择WriteCode工程路径,从

wangjie36的博客 1万+

Montserrat可变字体深度解析:实现响应式排版的最佳实践

Montserrat字体项目是一款源自布宜诺斯艾利斯传统街区的开源字体,以其独特的城市排版风格和灵活的可变字体特性,成为现代响应式设计的理想选择。本文将深入探讨Montserrat可变字体的核心优势、应用场景及最佳实践,帮助设计师和开发者轻松实现跨平台的排版一致性。 ## 什么是Montserrat可变字体? Montserrat可变字体(Variable Font)是传统静态字体的进化形式,

gitblog_00206的博客 382

信创服务器(麒麟 V10 SP3)安装 NVIDIA GeForce RTX 5070 驱动

本文介绍了在麒麟V10 SP3系统上安装NVIDIA RTX 5070显卡驱动的详细步骤。首先需要关闭nouveau驱动,安装必要的编译环境和工具,确保内核版本与kernel-devel完全一致。最后运行NVIDIA驱动安装程序,关键选择包括启用DKMS支持、编译模块、禁用32位兼容和nouveau驱动。整个流程适用于海光CPU和Blackwell架构GPU的国产操作系统环境。

猿小白的博客 686

Spring Framework 7.002.Spring IoC 容器与 Bean 简介(Introduction to the Spring IoC Container and Beans)

摘要:Spring框架的核心技术包括IoC容器和AOP技术。IoC容器通过依赖注入实现控制反转,提供Bean管理和配置功能。ApplicationContext作为BeanFactory的扩展,增加了企业级特性。文档详细介绍了容器配置、Bean定义、依赖注入、作用域等核心概念,以及基于注解的配置方式。AOP框架支持80%的AOP需求,并可集成AspectJ。此外还涵盖环境抽象、容器扩展点等高级特性,为Java企业应用开发提供全面支持。(150字)

无 215

Seata-Go:Go语言中的分布式事务解决方案

Seata-Go:Go语言中的分布式事务解决方案 项目介绍 Seata-Go 是 Apache Seata 在 Go 语言环境下的实现版本,旨在为 Go 开发者提供一个简单、可扩展的分布式事务解决方案。Seata 作为 Java 领域的事实标准,已经在分布式事务处理方面积累了丰富的经验和技术沉淀。Seata-Go 的出现,填补了 Go 语言在分布式事务领域的空白,使得 Go 开发者也能享受到 Se...

gitblog_00087的博客 839

使用STM32实现简单的语音识别

此外,还需要将计算机的音频输出连接到外部音频放大器上,以便将测试语音播放到MAX9814麦克风模块。运行STM32代码后,系统将开始采集语音数据,并在采集完成后调用Python脚本进行MFCC特征提取。在本案例中,我们将使用STM32F4开发板、MAX9814麦克风模块和MFCC特征提取算法来实现语音识别。通过这个案例,我们可以了解到如何结合STM32开发板和Python实现语音识别,并可以根据需要进行相关扩展和优化。现在,我们可以编译和烧录STM32代码到开发板中,并准备好测试语音文件。

吃不胖. 1475

seata-golang 接入指南

作者 | 刘晓敏 来源|阿里巴巴云原生公众号 seata-golang 是一个分布式事务框架,实现了 AT 模式和 TCC 模式,AT 模式相较 TCC 模式对代码的入侵性更小、需要开发的接口更少;但 AT 模式对事务操作的数据持有全局锁,从这点来说,TCC 模式性能更好。 seata 的 AT 模式将全局锁放在 transaction coordinator 也就是事务协调器上,依赖于具体锁接口的存储实现方式可以是 file/db/redis 等,而不是数据库锁,每个分支事务提交时立即释放数据库锁,这样.

阿里巴巴云原生的博客 2356

手把手教你学Simulink——基于经典滤波器设计的场景:低通滤波器(LPF)的设计与频率响应仿真

滤波器是信号处理领域中非常重要的组件,用于去除不需要的频率成分或者提取有用的频率信息。低通滤波器(Low-Pass Filter, LPF)允许低于某个特定截止频率的信号通过,同时衰减高于该截止频率的信号。在本教程中,我们将学习如何使用设计一个简单的模拟低通滤波器,并对其频率响应进行仿真分析。本文介绍了如何使用设计一个简单的模拟低通滤波器,并通过仿真展示了其应用效果。通过这样的实践,您不仅能够加深对滤波器工作原理的理解,还能掌握利用Simulink进行滤波器设计与仿真的基本技能。

MHD0815的博客 5723

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

分布式事务框架 seata-golang 通信模型详解

作者 | 刘晓敏 于雨 一、简介 Java 的世界里,大家广泛使用的一个高性能网络通信框架 netty,很多 RPC 框架都是基于 netty 来实现的。在 golang 的世界里,getty 也是一个类似 netty 的高性能网络通信库。getty 最初由 dubbogo 项目负责人于雨开发,作为底层通信库在 dubbo-go 中使用。随着 dubbo-go 捐献给 apache 基金会,在社区小伙伴的共同努力下,getty 也最终进入到 apache 这个大家庭,并改名 dubbo-getty 。 1.

阿里巴巴云原生的博客 877

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Apache Beam Scala SDK 全解析:基于 Scio 编写 Scala 版 Beam 数据管道

Apache Beam 是一个统一的批处理与流处理编程模型,官方为 Java、Python、Go 提供了语言级 SDK,而 **Scala 场景下的官方解决方案是 Scio**——一个由 Spotify 维护、受 Apache Spark 与 Scalding 启发的 Scala API。本文以 Apache Beam 仓库中的 [Scala SDK 文档](https://link.gitcod

gitblog_00007的博客 418

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Seata-go 1.0 重磅发版

文|赵新(花名:于雨)蚂蚁集团 Seata 项目开源负责人本文2953字 阅读 10分钟发布概览主要新增特性:支持以 gRPC、HTTP 方式实现 TCC 调用;支持 TCC 防悬挂和空回滚自动处理;支持 TCC 模式一阶段传入用户自定义参数;支持 AT 模式的数据源代理;AT 模式支持并集成了 Update 语法解析(其中 Insert、Delete、Multi Delete、Multi...

金融级分布式架构 386

7个HTTP API分离关注点设计技巧:从理论到实战指南

在API开发中,分离关注点是提升系统可维护性和扩展性的关键原则。GitHub加速计划(ht/http-api-design)项目提供的HTTP API设计指南强调,通过合理划分请求与响应周期中的不同部分,可以让开发者更专注于复杂问题的解决。本文将结合该项目核心文档,分享7个实用的分离关注点设计技巧,帮助你构建更清晰、灵活的API接口。 ## 1. 用路径标识资源身份 API路径应专注于标识资源

gitblog_00866的博客 423

go分布式事务 mysql_分布式|事务框架 seata-golang 通信模型详解

func (coordinator *DefaultCoordinator) (session getty.Session, err error) {// 释放 TCP 连接SessionManager.ReleaseGettySession(session)session.Closelog.Errorf("getty_session{%s} got error{%v}, will be clos...

weixin_29458017的博客 760

Seata-Go-Server:高效、高可用的分布式事务解决方案

Seata-Go-Server:高效、高可用的分布式事务解决方案 项目介绍 Seata-Go-Server 是一个基于 Golang 开发的高可用分布式事务解决方案的服务端组件,它兼容 Seata(0.5版本以后)。Seata-Go-Server 旨在提供一个高性能、高可用的分布式事务处理平台,适用于各种需要强一致性事务处理的场景。通过其独特的架构设计和强大的功能特性,Seata-Go-Serve...

gitblog_00646的博客 810

如何快速评估DevPod环境负载能力:完整性能测试指南

DevPod是一款开源的本地开发环境管理工具,它允许开发者在任何云服务、Kubernetes集群或本地Docker环境中创建和管理开发工作区,兼容各种IDE。本文将详细介绍如何对DevPod进行性能测试,评估其在不同负载条件下的环境承载能力,帮助用户优化配置并确保稳定运行。 ## 为什么需要进行DevPod性能测试? 在使用DevPod构建多工作区开发环境时,了解系统在高负载下的表现至关重要。

gitblog_00786的博客 441

httpjail社区贡献指南:如何参与项目开发和功能扩展

httpjail是一个跨平台工具,用于通过网络隔离和透明代理拦截监控和限制进程的HTTP/HTTPS请求。作为开源项目,社区贡献对其发展至关重要,本指南将详细介绍如何参与httpjail项目开发和功能扩展。 ## 贡献前准备工作 ### 环境搭建 首先需要克隆项目仓库,执行以下命令: ```bash git clone https://gitcode.com/gh_mirrors/ht/h

gitblog_07188的博客 352

推荐Seata-Go-Server:打造高性能、高可用的分布式事务解决方案

推荐Seata-Go-Server:打造高性能、高可用的分布式事务解决方案 项目介绍 Seata-Go-Server 是一款为解决分布式事务难题而生的开放源代码服务端组件,完全兼容 Seata 0.5 及以上版本。这款由 Golang 编写的工具,以其独特的设计和强大的功能,为企业级应用提供了可靠的事务一致性保障。 项目技术分析 Seata-Go-Server 采用了一种创新性的架构,包括以下几个...

gitblog_00083的博客 450

NRE神经关系抽取的未来展望:技术趋势与发展方向

神经关系抽取(NRE)作为自然语言处理领域的关键技术,正通过深度学习模型不断突破语义理解的边界。本文将深入探讨NRE技术的演进历程、当前挑战及未来发展方向,为从业者和研究者提供全面参考。 ## 一、NRE技术架构的迭代演进 神经关系抽取技术经历了从传统机器学习到深度学习的跨越。早期模型如CNN(卷积神经网络)通过局部特征提取实现实体关系分类,而PCNN(段落级CNN)则引入分段池化机制,显著提升

gitblog_00543的博客 705

每天10分钟学Go:第5课 switch分支判断

本课程讲解 Go 语言 switch 分支判断核心用法,涵盖单值匹配、多 case 合并、无表达式条件分支、fallthrough 穿透与类型 switch 断言,搭配可运行代码示例,带你掌握 Go 分支结构语法与实战写法。

2501_94567985的博客 260
上一篇: 来自开发者的点赞,SOFAStack 入选 2022 中国技术品牌影响力企业榜
下一篇: SOFA Weekly|SOFANews、本周贡献 & issue 精选
SOFAStack
博客等级 码龄7年 747粉丝 389原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值