Seata 1.3.0 重磅发布,支持多主键,自动升降级
Seata 1.3.0 发布。
Seata 是一款开源的分布式事务解决方案,提供高性能和简单易用的分布式事务服务。
1.3.0 版本支持了像多主键,自动升降级等大量feature,性能得到大幅度提升,修复了旧版本的大量bug。
此版本更新如下:
feature:
- [#2398] 支持 MySQL 多主键
- [#2484] 支持 Redis 存储模式
- [#2817] Saga 流程设计器 Groovy Script Task
- [#2646] Server 支持 HikariCP 数据源
- [#2253] 支持根据连续错误数动态升降级
- [#2565] 支持事务注解类标注
- [#2510] 协议新增 LZ4 压缩支持
- [#2622] Server 支持版本检查
- [#2658] 支持 Oracle 同一实例下不同用户的事务
- [#2620] 支持使用 Nacos 注册中心配置 group 属性
- [#2699] 支持 ACM 配置中心
- [#2509] 支持 update 操作回滚所有数据列和更新列
- [#2584] StateHandlerInterceptor 和 StateRouterInterceptor 支持 SPI
- [#2808] Server 鉴权支持 SPI
- [#2616] TCC 模式支持 Dubbo 和 Sofa-RPC 注解调用
- [#2831] Saga 模式支持 jackson parser
- [#2554] 增加 zookeeper 序列化支持
- [#2708] 支持 array, datalink 等 JDBC 类型
- [#2412] xid 生成支持雪花算法
- [#2611] 支持配置缓存,去除配置中心强依赖
bugfix:
- [#2893] 修复 postgresql 表名中含 schema 取 tableMeta 错误的问题
- [#2887] 修复 RM 接收 response 的逻辑
- [#2610] Nacos 配置同步脚本加入Nacos权限属性控制
- [#2588] 修复check style不通过时,无详细信息报出的问题
- [#2543] 修复 ShutdownHook signal 无效问题
- [#2598] 修复无法注册到 Nacos 的问题
- [#2618] 修复 zookeeper 无法创建目录的问题
- [#2628] 修复 delete 操作时表名加别名找不到表名问题
- [#2639] 修复 Apollo 配置中心由于属性大小写导致的无法加载问题
- [#2629] 修复 PostgreSQL 相同实例不同 currentSchema 导致的 resourceId 重复问题
- [#2659] 修复 MySQL 使用 last_insert_id 获取到 undo_log id 问题
- [#2670] 修复 Server dataSource 初始化多次的问题
- [#2617] 修复类和方法上注解获取不正确的问题
- [#2603] 修复无法获取 generated keys value 的问题
- [#2725] 修复 insert 操作时主键前含有其他表达式导致的索引位置不正确的问题
- [#2698] 修复嵌套 GlobalLock 被提前解绑的问题
- [#2755] 修复 TCC 模式 branchCommit 和 branchRollback 抛出异常无返回值的问题
- [#2777] 修复 rollback 重试次数设置为 0 无法回滚的问题
- [#2812] 修复使用 shardingSphere & Seata 获取 PostgreSQL tableMeta错误的问题
- [#2760] 修复回滚失败 failureHandler 无法抛出失败异常的问题
- [#2837] 修复 SubStateMachineHandler 中错误的常量引用
- [#2839] 修复 Saga 模式补偿成功业务异常丢失的问题
- [#2650] 修复 TCC 和 Saga 模式在 AbstractConnectionProxy解析SQL的问题
- [#2850] 修复 Saga 流程设计器导致浏览器崩溃的问题
- [#2868] 修复找不到 AsyncEventBus 依赖的问题
- [#2871] 修复获取 'schame'.'table' 类型 tableMeta 错误的问题
- [#2685] 修复 Oracle insert 操作使用 sysdate 报错的问题.
- [#2872] 修复 undo sql 中主键缺失转义符的问题
- [#2875] 修复 ColumnUtils delEscape删除表名带 schema 转义符错误的问题.
optimize:
- [#2573] 在随机负载均衡中使用 ThreadLocalRandom 代替 Random
- [#2540] 重构 RPC 处理方法名和接口
- [#2642] 优化 SofaRegistryServiceImpl 线程不安全的 double check
- [#2561] 获取 tableMeta 逻辑统一
- [#2591] 支持 zookeeper sessionTimeout和 connectTimeout 默认值
- [#2601] 优化 spring-boot-starter 包结构
- [#2415] 按照分支事务类型决定数据库操作行为
- [#2647] 移除无用的变量
- [#2649] 优化获取 tableMeta 的逻辑
- [#2652] 支持 consul 自定义服务端口
- [#2660] 优化 IdWorker 包路径
- [#2625] Mockito.verify 代替 Mockito.doAnswer
- [#2666] 补充使用用户 logo
- [#2680] 优化 GlobalTransactionalInterceptor 为单例
- [#2683] 优化 TccActionInterceptor 的日志打印
- [#2477] 重构 RPC 客户端请求处理
- [#2280] 重构 InsertExecutor
- [#2044] 优化 ColumnUtils.addEscape
- [#2730] 优化 配置中心类型校验
- [#2723] 优化 postgreSql 获取 tableMeta 的处理逻辑
- [#2734] 优化 postgreSql 依赖的 scope
- [#2749] 优化 logger class 错误问题
- [#2751] 拷贝 jdbc driver 到 docker 镜像
- [#2759] 优化线程池线程命名风格
- [#2607] insert 操作检查 pk 表达式支持
- [#2765] 优化 XA 对不支持的 resource 的逻辑处理
- [#2771] 禁用不稳定的单元测试
- [#2779] 方法变量 ConcurrentHashMap 替换为 HashMap
- [#2486] 重构 RPC server 端的处理逻辑
- [#2770] TCC confirm 和 cancel 支持 void 返回值
- [#2788] 优化 server 日志格式和样式
- [#2816] 优化实例的创建逻辑
- [#2787] 优化雪花算法中的 workId
- [#2776] 优化字符串拼接
- [#2799] 优化操作符
- [#2829] 升降级检查去除加锁和异步化
- [#2842] 优化 sql 格式
- [#2242] 优化 PreparedStatementProxy 初始化逻辑
- [#2613] 优化 DTO 和 typo
非常感谢以下 contributors 的代码贡献。若有无意遗漏,请报告。
- slievrly
- a364176773
- wangliang1986
- jsbxyyx
- l81893521
- objcoding
- long187
- CharmingRabbit
- diguage
- helloworlde
- chenxi-null
- ph3636
- xianlaioy
- qq925716471
- horoc
- XavierChengZW
- anic
- fxtahe
- wangwengeek
- yangfuhai
- PeineLiang
- f654c32
- dagmom
- caohdgege
- zjinlei
- yyjgit66
- lj2018110133
- wxbty
- hsoftxl
- q294881866
- 81519434
同时,我们收到了社区反馈的很多有价值的issue和建议,非常感谢大家。
Link
- Seata: https://github.com/seata/seata
- Seata-Samples: https://github.com/seata/seata-samples
- Release: https://github.com/seata/seata/releases
- WebSite: https://seata.io
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
使用Jibri进行Jitsi Meet视频录制
前言 我们在做视频会议系统的时候,通常都会有会议录制功能,那么作为视频会议开源的翘楚,Jitsi是怎么做这一点的,在官方文档及其隐晦的情况下,我们该怎么成功搭建视频录制服务呢?下面我就带大家来了解下实战操作一把 什么的Jibri Jibri提供用于录制或流式传输Jitsi Meet会议的服务。 它通过启动在虚拟帧缓冲区中呈现的Chrome实例并使用ffmpeg捕获和编码输出来工作。它旨在在单独的计算机(或VM)上运行,而没有其他使用显示或音频设备的应用程序。单个jibri一次仅支持一次录制。 这里注意 ** 单个Jibri一次仅支持一次录制** ,也就是说一个Jibri服务只能同时录制一次视频会议,如果在其他会议室录制的同时在开启录制,那么他会返回没有录制设备可用,或者设备在忙 Jibri的设计思路 我的理解可能有偏差,因为我也才刚接触2天,欢迎各位补充。 Jibri重新添加了一个隐藏用户,这个用户你是看不见的,用户没有感知,进入了会议室,它使用了Chrome Driver来控制Chrome实例,在使用ffmpeg进行捕获然后编码在输出为mp4格式的视频文件。 录制的方式 服务端录制 ...
- 下一篇
存在严重安全漏洞,Rust 团队决定撤销 Crates package API 密钥
Rust 安全响应工作组发布了一个安全公告称,其在调查有关影响crates.ioWeb 应用程序中令牌生成的安全问题时,发现了另一个影响 crates.io API 令牌的漏洞。因此,出于谨慎考虑,该团队决定撤销所有现有的 API 密钥。 ”想要在实践中利用这两个漏洞是非常不切实际的,而且我们也还没有发现该漏洞已在野外被利用的证据。但出于谨慎考虑,我们选择撤销所有现有的 API 密钥。您可以在crates.io/me 上生成一个新的 API 密钥。“ Rust方面表示,一直以来,用于crates.io 的API 密钥都是使用 PostgreSQL 随机函数生成的,但该函数并不是一个加密安全的随机数生成器。这意味着从理论上讲,攻击者可以观察到足够的随机值来确定随机数生成器的内部状态,并使用此信息来确定以前创建的 API 密钥,直到最后一次数据库服务器重启为止。 同时作为调查的一部分,其还发现了软件包的 API 密钥是以纯文本格式存储。这意味着,如果攻击者破坏了数据库,那么他们将具有所有当前令牌的 API 访问权限。 目前,为了缓解这一漏洞,Rust团队称,其已经推出了一种加密安全的随机数...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Red5直播服务器,属于Java语言的直播服务器
- CentOS关闭SELinux安全模块
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19