What's new in Dubbo 3.1.4 and 3.2.0-beta.3
在 12 月 22 日,Dubbo 3.1.4 和 3.2.0-beta.3 正式通过投票发布。本文将介绍发布的变化一览。
Dubbo 3.1.4 版本是目前 Dubbo 3 的最新稳定版本,我们建议所有的用户都升级到最新的稳定版本。Dubbo 3.2.0-beta.3 版本是目前 Dubbo 3 的最新特性版本,包括了如 Spring Boot 3、JDK 17、服务粒度的线程池隔离等新特性的支持,欢迎大家尝鲜使用。
Dubbo 3.1.4
新特性
- Dubbo QoS 支持指定白名单 IP 列表访问所有命令
Bugfix
- 修复在泛化调用时 Dubbo Metrics 采集方法名错误
- 修复使用 Zookeeper 作为元数据中心时,上报接口映射可能存在相互覆盖的问题
- 修复 timeout countdown 在 Triple 协议的支持
- 修复 timeout countdown 存在透传的问题
- 修复多注册中心请求时,由于没有可用的地址导致的 NPE 问题
- 修复 Mesh 模式下 Triple 获取 remoteApplicationName 为空的问题
- 修复 GraalVM Native Image 的支持
- 修复端口复用时无 SSL 连接导致的 NPE 异常
- 完善 JDK 编译器报错日志的输出格式
- 修复 MetadataReportConfig 部分配置时应用无法启动的问题
- 修复 dubbo.reference 作为默认参数在 3.x 版本中不生效的问题
- 完善 Zookeeper 连接失败的日志
- 修复 ReferenceConfig 中配置的 ClassLoader 可能被覆盖的问题
- 修复部分属性在应用级服务发现时被缓存在实例级的地址中导致方法级配置失效的问题
- 修复 Triple 协议 onError 异常的问题
FAQ
本次发布中有 3 个提交涉及异常日志 FAQ 的完善。关于错误码机制请参考官网错误码机制介绍一文。(https://cn.dubbo.apache.org/zh/docs3-v2/java-sdk/faq/intro/)
代码优化
本次发布中有 11 个提交涉及代码质量的优化。
依赖升级
- 升级 fastjson2: 2.0.14 -> 2.0.21
- 升级 resteasy-jaxrs: 3.0.19.Final -> 3.0.20.Final
贡献者
Dubbo 感谢以下贡献者对本次发布的贡献:@cnjxzhao, @CrazyHZM, @EarthChen, @gold-fisher, @IncrementalRefinement, @Koooooo-7, @ShenFeng312, @tonycody, @twz007, @win120a, @wlazjr
新贡献者
- @twz007 在 PR #11012 提交了第一个贡献
- @IncrementalRefinement 在 PR #11046 提交了第一个贡献
- @gold-fisher 在 PR #11058 提交了第一个贡献
- @wlazjr 在 PR #11084 提交了第一个贡献
- @ShenFeng312 在 PR #11102 提交了第一个贡献
Dubbo 3.2.0-beta.3
注:Dubbo 3.2.0-beta.3 的代码基础和 Dubbo 3.1.4 完全一致,因此在 Dubbo 3.1.4 中包括的所有修改内容,在 Dubbo 3.2.0-beta.3 中也同样存在,后续说明中对于重复的内容讲不再赘述。
新特性
- 支持使用 jackson 作为Dubbo 内部的 JSON 序列化方式
- 优化 Dubbo Logger 的选择逻辑,在存在多种日志框架的情况下会尝试读取其配置,选择一个有效的日志框架,解决在 SpringBoot 等场景下 Dubbo 日志不输出的问题。
- Triple 协议支持客户端流控
- 支持发布 Dubbo Metrics 数据到 Spring Boot 的 Endpoints 上
- 支持可选关闭线程池满时的线程 Dump 以及支持配置 Dump 的结果输出路径
- xDS 实现支持路由规则的解析
- 支持 Dubbo QoS 命令安全性分级,默认对外暴露存活检测的端口,支持 Kubernetes 的原生接入
- 支持基于 P2C 的自适应负载均衡
Bugfix
- 修复默认 Metadata 缓存未开启的问题
- 修复 Metrics 指标资源路径错误的问题
- 完善线程池隔离的配置,默认采用共享线程池,避免创建过多的线程
- 完善 prefer-serialization 的选择逻辑,提供向前兼容的能力
- 修复 Triple 协议传输时未携带版本号导致版本调用错误的问题
- 完善 GraalVM Native Image 的支持
性能优化
- 优化在连接数高时由于获取 channels 数量导致的资源占用问题
代码优化
本次发布中有 5 个提交涉及代码质量的优化。
贡献者
Dubbo 感谢以下贡献者对本次发布的贡献:@AlbumenJ, @asa3311, @conghuhu, @CrazyHZM, @gitchenjh, @haoyann, @JavaHello, @Koooooo-7, @nannanfighting, @ningboliu, @shanuo0312, @songxiaosheng, @tonycody, @XDanwar
新贡献者
- @JavaHello 在 PR #10970 提交了第一个贡献
- @songxiaosheng 在 PR #10997提交了第一个贡献
- @Koooooo-7 在 PR #11051 提交了第一个贡献
- @ningboliu 在 PR #10745 提交了第一个贡献
- @XDanwar 在 PR #11063 提交了第一个贡献
未来版本规划
Dubbo 版本的发布规划以及在《聚焦稳定性,Dubbo 发版规划公布》一文中正式发布,欢迎查看。
欢迎在 https://github.com/apache/dubbo 给 Dubbo Star。