Seata 是一款开源的分布式事务解决方案,提供高性能和简单易用的分布式事务服务。
此版本更新如下:
特性:
- [#2200] 支持 postgresql (业务侧和 TC server)
- [#1746] 支持 httpClient 自动集成
- [#2240] 支持自定义 Saga 恢复策略超时时间
- [#1693] 支持 druid 类隔离加载,隔离中间件和业务侧的 druid 使用
- [#2245] 支持 zookeeper 鉴权
- [#2239] 支持 dubbo 2.7.4+
- [#2203] 支持 nacos 配置中心设置 group 属性
- [#2086] 支持 apollo 配置中心设置 namespace 属性
- [#2106] 支持 FastThreadLocalContextCore 存储事务上下文
- [#1703] 支持 sql parser SPI,提供 druid sql parser
- [#2151] 支持 Saga 模式跳过成功分支事务的 report
Bug 修复:
- [#2270] 修复 worker size 不支持枚举配置和其他配置问题
- [#2258] 修复 channelHandler 重连时 not sharable 问题
- [#2261] 修复定时任务启动但 ApplicationContext 未刷新问题
- [#2262] 修复 nacos 初始化脚本设置 group 错误问题
- [#2249] 修复 Saga 模式注册分支失败状态机状态错误问题
- [#2126] 修复表名和列名转义符错误问题
- [#2234] 修复使用 fastjson 反序列化 bigint 错误问题
- [#2237] 修复 DefaultCoordinatorTest 在 wins 测试错误问题
- [#2233] 修复使用 fastjson 忽略 tableMeta 失效问题
- [#2172] 修复使用 SpringCloudConfig 配置中心无法读取配置问题
- [#2217] 修复 seata-spring-boot-starter 错误配置名称
- [#2219] 修复 seata-spring-boot-starter 读取disableGlobalTransaction 配置错误问题
- [#2187] 修复有相同数据依赖的不同事务分支路由到不同server时回滚顺序错误问题
- [#2175] 修复 server direct buffer OOM 问题
- [#2210] 修复二阶段 commit 和 rollback 重试超时 globalSession 无法删除问题
- [#2179] 修复 redis 注册中心 db 属性转型错误问题
- [#2192] 修复 eureka getHostName() 返回 ipAddress 问题
- [#2198] 修复 rollback 超时无法自动删除全局锁问题
- [#2167] 修复 Saga 异步执行返回相同 id 问题
- [#2185] 修复 server 启动时 kubernetes 的判断条件
- [#2145] 修复 Saga 模式重试成功上报状态错误问题
- [#2113] 修复分支 rollback 失败触发多个 TC 重试导致的并发异常
优化:
- [#2255] 优化配置项的默认配置值
- [#2230] 统一配置项命名风格和保持 seata-all 和 spring boot starter相同默认值
- [#1935] 重构 client 和 server RPC
- [#2215] 优化 Saga 模式的超时处理
- [#2227] 分离 TC In/Outbound 接口
- [#2033] DefaultRemotingParser 逻辑优化
- [#1688] 减少客户端无用依赖
- [#2134] 按照事务模式区分 TC 逻辑重构
- [#2224] 优化 ContextCoreLoader 代码风格
- [#2171] 优化配置初始化同步脚本和添加使用说明
- [#2208] 使用 SPI LoadLevel name 代替 getDbType 接口方法
- [#2182] 优化 seata-spring-boot-starter 前缀判断逻辑
- [#2211] 优化 RootContext 代码风格
- [#2140] 优化 GzipUtil 代码风格
- [#2209] 重构 seata-discovery 模块,增加可读性
- [#2055] 使用 SPI 重构 tableMetaCache 和 undoLogManager
- [#2184] 重构 seata-config 模块,增加可读性
- [#2095] 重构数据源自动代理,区分 jdk 和 cglib 代理属性设置
- [#2178] Saga 状态机设计器添加默认 catch 节点
- [#2103] 优化 tcc 模块代码,增加可读性
- [#2125] 修改 MySQL recognizer package 路径
- [#2176] 修复 typos
- [#2156] 重构 sqlparser druid 名称为常量
- [#2170] 增加 seata common 模块的单测覆盖率
- [#2139] 优雅关闭 resources
- [#2097] 将 codec 模块重命名为 serializer 模块
- [#2159] 优化 spring 模块代码风格,增加可读性
- [#2036] 优化 Dubbo parser 逻辑
- [#2062] 优化 seata-rm-datasource 模块代码风格,增加可读性
- [#2146] 优化日志输出字符拼接
- [#2038] 优化 common 模块代码风格,增加可读性
- [#2120] 修复 typos
- [#2078] 增加 oracle table meta cache 单测覆盖度
- [#2115] 修复 typos
- [#2099] 优化 tm 模块代码风格,增加可读性
非常感谢以下 contributors 的代码贡献。若有无意遗漏,请报告。
- slievrly
- xingfudeshi
- objcoding
- long187
- zjinlei
- ggndnn
- lzf971107
- CvShrimp
- l81893521
- ph3636
- koonchen
- leizhiyuan
- a364176773
- caioguedes
- helloworlde
- wxbty
- bao-hp
- guojingyinan219
- CharmingRabbit
- jaspercloud
- jsbxyyx
同时,我们收到了社区反馈的很多有价值的issue和建议,非常感谢大家。
常用链接
Seata: https://github.com/seata/seata
Seata-Samples: https://github.com/seata/seata-samples
Release: https://github.com/seata/seata/releases
Seata 官网: https://seata.io/zh-cn/