在 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。

What's new in Dubbo 3.1.4 and 3.2.0-beta.3的更多相关文章

  1. Dubbo 备注

    Dubbo是阿里开源的一款服务治理中间件,主要包含如下节点: Provider: 暴露服务的服务提供方. Consumer: 调用远程服务的服务消费方. Registry: 服务注册与发现的注册中心. ...

  2. 如何使用Dubbo服务和集成Spring

    Dubbo是什么? Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点. Dubbo是一个 ...

  3. 【dubbo】dubbo项目基本结构及provider构建

    dubbo项目基本结构如下,分别部署于不同服务器: 1.provider(接口API 实现) 2.consumer(web) 3.zookeeper 4.DB provider构建 1.api构建 i ...

  4. dubbo 学习总结

    1 Dubbo 配置 dubbo配置xml配置     属性配置  注解配置   api配置 注解配置 (+) (#) 服务提供方注解: import com.alibaba.dubbo.config ...

  5. dubbo demo实现

    粗略的写了一个dubbo的demo,使用了alibaba的dubbo,还有zookeeper来做配置中心 参考资料地址: http://dubbo.io/User+Guide-zh.htm#UserG ...

  6. 基于开源Dubbo分布式RPC服务框架的部署整合

    一.前言 Dubbo 作为SOA服务化治理方案的核心框架,用于提高业务逻辑的复用.整合.集中管理,具有极高的可靠性(HA)和伸缩性,被应用于阿里巴巴各成员站点,同时在包括JD.当当在内的众多互联网项目 ...

  7. Dubbo分布式服务框架入门

    参考http://blog.csdn.net/u013142781/article/details/50387583 一.Dubbo概念介绍 1.1.Dubbo是什么? Dubbo是一个分布式服务框架 ...

  8. 集成Dubbo服务(Spring)

    Dubbo是什么? Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点. Dubbo[]是 ...

  9. Dubbo入门基础与实例讲解(转)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,0 ...

  10. 关于dubbo服务产生异常之:Caused by: com.alibaba.dubbo.remoting.TimeoutException: Waiting server-side response timeout by scan timer.

    简单来说就是dubbo超时,因为dubbo默认的时间是500ms,超过这个时间它会重新访问service层,最多尝试三次. 所以我在测试的时候日志显示出来的异常为……timeout……. 开始设置开始 ...

随机推荐

  1. C#-7 结构和枚举

    一 什么是结构 结构是程序员定义的数据类型,有数据成员和函数成员,和类非常类似. 类是引用类型,而结构是值类型: 结构和类一样可以实现接口: 结构是隐式密封的,不能被派生: 结构类型的变量不能为nul ...

  2. Redis核心设计原理(深入底层C源码)

    Redis 基本特性 1. 非关系型的键值对数据库,可以根据键以O(1) 的时间复杂度取出或插入关联值 2. Redis 的数据是存在内存中的 3. 键值对中键的类型可以是字符串,整型,浮点型等,且键 ...

  3. strut2 标签加载图表。

    //===============================================超市订单量走势图========================================= v ...

  4. MFC-创建MFC图形界面dll

    创建MFC图形界面dll 概述: 利用MFC的DLL框架,制作带有图形界面的dll,可以实现很多功能. 流程: 选择静态链接MFC DLL:以免有的库没有. 采用该框架创建的MFC,会自动生产一个MF ...

  5. C语言常见的八大排序(详解)

    冒泡排序 优点:写起来简单 缺点:运算量过大每两个之间就要比较一次 冒泡排序在一组需要排序的数组中,对两两数据顺序与要求顺序相反时,交换数据,使大的数据往后移,每趟排序将最大的数放在最后的位置上 如下 ...

  6. 在vue中引入elementui

    文章目录 1.下载安装 2.在main.js中引入 3.可以根据封装好的组件自行调用 官网地址:https://element.eleme.cn/#/zh-CN 1.下载安装 npm i elemen ...

  7. Java函数式编程:二、高阶函数,闭包,函数组合以及柯里化

    承接上文:Java函数式编程:一.函数式接口,lambda表达式和方法引用 这次来聊聊函数式编程中其他的几个比较重要的概念和技术,从而使得我们能更深刻的掌握Java中的函数式编程. 本篇博客主要聊聊以 ...

  8. 安装 TypeScript 并编译成JS

    官网: https://github.com/microsoft/TypeScript TypeScript是一种由微软开发的开源.跨平台的编程语言.它是JavaScript的超集,最终会被编译为Ja ...

  9. [论文阅读] 颜色迁移-EM概率分割的局部颜色迁移

    颜色迁移-EM概率分割的局部颜色迁移 文章: Local Color Transfer via Probabilistic Segmentation by Expectation-Maximizati ...

  10. scp工具上传下载

    1.从本地复制到远程 scp local_file remote_username@remote_ip:remote_folder 或者 scp local_file remote_username@ ...