What's new in Dubbo 3.1.4 and 3.2.0-beta.3

2022-12-22 18:00:29

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