Seata 1.4.0 重磅发布

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
性能测试 PTS,5000VUM额度
简介: 此版本梳理了大部分用户反馈的 bug,对沉积的大部分问题进行了修复,XA部分修复尤其多。同时增加了鉴权、负载均衡、yml配置文件支持、注册配置中心属性、db字段类型、序列化、事务默认超时、事务重试和 GlobalLock等特性支持。

Seata 是一款开源的分布式事务解决方案,提供高性能和简单易用的分布式事务服务。

欢迎已使用用户在此链接登记便于我们更好的针对业务场景优化:https://github.com/seata/seata/issues/1246

此版本梳理了大部分用户反馈的 bug,对沉积的大部分问题进行了修复,XA部分修复尤其多。同时增加了鉴权、负载均衡、yml配置文件支持、注册配置中心属性、db字段类型、序列化、事务默认超时、事务重试和 GlobalLock等特性支持。

此次 release 修改文件数:348,最终代码变动:+8,844 −3,219 ,参与代码 commit 人数:27,合并pr数:84,其中:feature:13,bugfix:39,代码优化重构:32。

此版本的详细更新如下:

feature:

[#2380] 支持yml配置文件

[#3191] 支持oracle nclob类型

[#2676] 支持客户端最少的活动负载均衡

[#2080] 支持客户端一致性哈希的负载均衡

[#3198] 支持Spring Boot 使用自定义配置中心和注册中心

[#2806] 支持配置默认全局事务超时时间

[#2941] 支持apollo密钥key配置

[#2950] 支持redis存储模式可重入锁

[#2913] 支持配置AT或XA事务模式的数据源代理

[#2856] 支持undo_log 使用 fst 序列化

[#3076] 支持 GlobalLock 锁重试

[#2825] 支持客户端发送鉴权信息

[#2962] 支持在 @GlobalTransactional和@GlobalLock 注解上锁的重试配置

bugfix:

[#3214] 修复在某些情况下'RootContext.DEFAULT_BRANCH_TYPE' 的取值错误的问题

[#3129] 修复禁止执行更新主键值的SQL

[#3205] 修复在配置中获取boolean类型配置异常

[#3170] 修复Disposable 同优先级的无法执行的问题

[#3180] 修复fst序列化包名错误

[#3178] 修复sqlparser 换行替换为空格问题

[#2929] 修复将应用配置为在启动时降级但在运行中无法升级问题

[#3050] 修复update和delete不支持order,limit语法问题

[#2935] 修复了Saga Designer在切换节点时属性框不会切换的问题

[#3140] 修复Propagation.REQUIRES_NEW无效的问题

[#3130] 修复数据源多重代理和使用非代理类方法的问题

[#3148] 修复 Redis 存储模式下lock和session存储时key冲突问题

[#3136] 修复Redis pipeline执行报错问题

[#2551] 修复当使用AT数据源代理时Saga事务模式无法使用的问题

[#3073] 修复在没有xid的情况下使用XA模式的问题

[#3074] 修复若XA模式找不到 xid 重试问题

[#3097] 修复HttpAutoConfiguration只在springboot web项目中启动

[#3071] 修复XA 模式中无法获取真实连接的问题

[#3056] 修复了删除分支后仍然存在分支锁的错误

[#3025] 修复错误的包装路径问题

[#3031] 修复 redis 存储模式锁删除锁不完整问题

[#2973] 修复oracle数据库 where in 超过1000的问题

[#2986] 修复 checkstyle插件无法排除单个文件的问题

[#2910] 修复错误的注释

[#2914] 修复TCC模式下,调用方未清除branchType的问题

[#2926] 修复 fastjson 序列化不记录类名的问题

[#2897] 修复Jedis删除锁失败的问题

[#2918] 修复 AT 模式下回滚时的未加锁的问题

[#2972] 修复UUIDGenerator高并发下生成重复的id问题

[#2932] 修复nacos-config.py 不支持namespace 问题

[#2900] 修复数据库转义符问题

[#2904] 修复getConfig配置不存在获取到null的问题

[#2890] 修复statelang示例中的拼写错误

[#3040] 修复 autocommit=false时的重复提交问题

[#3230] 修复使用@EnableAutoDataSourceProxy启动失败问题

[#2979] 修复与sharedjdbc集成postgresql 无法获取元数据问题

[#3233] 修复Collections空指针异常

[#3242] 修复批处理SQL获取TableMeta错误问题

optimize:

[#3201] 修复异常时报错堆栈显示不全的问题

[#3062] 重构Redis存储模式下session的存储结构

[#3117] 优化日志输出以及清除无用代码

[#3134] 优化Map 和 List 相关写法

[#3195] 优化 XID 相关的代码写法

[#3200] 优化 rpc 日志提示

[#3186] 移除 StringUtils 的重复代码

[#3162] 删除重复的代码

[#2969] 升级druid的依赖到1.1.23

[#3141] 升级Nacos和FastJSON的依赖版本

[#3118] 添加additional-spring-configuration-metadata.json 配置提示信息

[#2597] 优化web拦截器中的xid状态避免重复处理

[#3102] 优化ContextCore 接口可设置非 String 类型的值

[#3016] 重构 Redis 存储模式下 的lock的存储结构

[#3046] 删除SerializerFactory类

[#3053] 支持 TC端jedis连接池最大数量配置

[#3012] 移除重复设置端口的代码

[#2978] 优化AT和TCC 事务模式混用时,AT模式可异步提交

[#2967] 优化代码为lambda风格

[#2968] 优化在RM客户端初始化后发送注册消息

[#2945] 优化DB存储模式异步提交,减少更新操作

[#2952] 支持 additional-spring-configuration-metadata.json配置提示信息

[#2920] 修正 README.md 中的单词和语法错误

[#3222] 优化fileListener的CPU利用率

[#2843] 移除 redis和db 存储模式的中移除接口Reloadable 和 重构 reload`方法

[#3209] 新增使用用户 logo 信息

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

slievrly

wangliang1986

a364176773

jsbxyyx

l81893521

lightClouds917

caohdgege

yujianfei1986

ph3636

PeineLiang

heyaping388

guang384

zdrjson

ITAlexSun

dongzl

81519434

wangwei-yin

jujinghao

JRial95

mxszs1

RayneHwang

everyhook1

li469791221

luorenjin

yangxb2010000

selfishlover

yyjgit66

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

常用链接:

Seata: https://github.com/seata/seata

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

Release: https://github.com/seata/seata/releases

官网: https://seata.io

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
2月前
|
Kubernetes Cloud Native API
欢迎报名 Apache Seata (incubating) 开源之夏
Apache Seata (incubating) 邀请学生参加 2024 年开源之夏活动,报名时间为 4 月 30 日至 6 月 3 日。该项目旨在培养分布式事务领域的开发者,参与者将远程协作并有机会获得奖金。
1288 14
|
2月前
|
SQL 关系型数据库 数据库
|
9月前
|
容灾 Shell Nacos
【Seata】seata的部署和集成
一、部署Seata的tc-server 1.下载 首先我们要下载seata-server包,地址在http://seata.io/zh-cn/blog/download.html
178 0
|
8月前
|
Dubbo 中间件 应用服务中间件
Seata:打造行业首个分布式事务产品
Seata:打造行业首个分布式事务产品
|
中间件 数据库 微服务
阿里开源分布式事务seata带你入门
阿里开源分布式事务seata带你入门
993 0
|
Java 中间件 uml
阿里中间件seata源码剖析三:聊聊seata中的ShutdownHook
阿里中间件seata源码剖析三:聊聊seata中的ShutdownHook
236 1
阿里中间件seata源码剖析三:聊聊seata中的ShutdownHook
|
SQL NoSQL Java
还不会分布式事务,seata xa模式入门实战送上
还不会分布式事务,seata xa模式入门实战送上
576 0
还不会分布式事务,seata xa模式入门实战送上
|
存储 SpringCloudAlibaba Oracle
阿里巴巴分布式事务利器Seata环境准备
阿里巴巴自从跟SpringCloud共同发起创建微服务开源社区时,开启了`SpringCloud Alibaba`分支,而且在生态内提供了一款适用于分布式应用程序(`Dubbo`、`SpringCloud`等)的事务框架`Seata`,该框架经过多个大版本的发布,已经支持`MySQL`、`Oracle`这两种数据库事务回滚(`Rollback`)以及提交(`Commit`)控制,每次发版都会修复一些用户反馈的`Issue`以及添加一些新特性。
|
Linux Nacos 数据库
seata搭建使用
seata搭建使用,欢迎大家积极评论指点
965 0
seata搭建使用