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