在 1 月 27 日,新年伊始,Dubbo 3.1.5 和 3.2.0-beta.4 正式透過投票釋出。本文將介紹釋出的變化一覽。
Dubbo 3.1.5 版本是目前 Dubbo 3 的最新穩定版本,我們建議所有的使用者都升級到最新的穩定版本。Dubbo 3.2.0-beta.4 版本是目前 Dubbo 3 的最新特性版本,包括瞭如 Spring Boot 3、JDK 17、服務粒度的執行緒池隔離等新特性的支援,歡迎大家嚐鮮使用。
Dubbo 3.1.5
新特性
- Dubbo QoS 支援記錄請求的記錄,便於進行審計
- 支援在服務對映失敗以後定時進行重試,降低由於後設資料中心抖動帶來的影響
- 支援在初始化 Nacos Client 的時候進行健康檢查,如果失敗則在一定次數限制下進行重試,降低由於 Nacos 效能問題帶來的穩定性影響
- 支援序列化類檢查機制,預設開啟日誌告警模式
Bugfix
- 修復資源載入器的日誌級別
- 修復 Dubbo 配置類對 Scope Model 進行懶載入,避免觸發非預期的預設模組初始化
- 修復 ReferenceConfig 中獲取 ClassLoader 的邏輯
- 修復 Metadata Service 在獲取訂閱服務列表時出現 NPE 的問題
- 修復對接 Spring Cloud Rest 模式的時候 Metadata 配置覆蓋的問題
- 修復 Spring 懶載入時可能出現死鎖的問題
- 修復埠重複的無效日誌
- 修復 Active Limit Filter 不生效的問題
- 修復服務對映時 Nacos CAS 檢查寫入無效的問題
- 修復 Zookeeper 註冊中心對接的應用級服務發現在服務釋出的時候出現單節點服務找不到的問題
- 修復服務對映在衝突以後未等待導致的衝突率高的問題
- 修復應用級服務發現下節點更新失敗的問題
- 修復應用級配置覆蓋不生效的問題
- 修復在應用級地址重新整理之後原 Revision 的後設資料無法獲取的問題
- 修復 Zookeeper 註冊中心在應用級服務發現下退訂閱後無法重訂閱的問題
- 相容 Nacos 在頻繁重新整理時最終一致性錯誤的問題
- 關閉 Nacos 本地快取獲取的開關
- 修復 Triple 傳遞大寫 Attachment 無效的問題
- 修復 Triple 處理特定類反序列化錯誤的問題
- 修復 Protobuf 依賴不存在時丟擲非預期異常的問題
- 修復 CountDown 功能無效的問題
- 修復 Triple 在反序列化時類載入器未切換的問題
FAQ
本次釋出中有 5 個提交涉及異常日誌 FAQ 的完善。關於錯誤碼機制請參考官網錯誤碼機制介紹一文。(https://cn.dubbo.apache.org/zh/docs3-v2/java-sdk/faq/intro/)
程式碼最佳化
本次釋出中有 4 個提交涉及程式碼質量的最佳化。
依賴升級
- 升級 protobuf-java: 3.16.3 -> 3.18.3
- 升級 fastjson2: 2.0.21 -> 2.0.23
貢獻者
Dubbo 感謝以下貢獻者對本次釋出的貢獻:@win120a, @wuwen5, @AlbumenJ, @CrazyHZM, @EarthChen, @xieshouyu, @wxbty
新貢獻者
- @xieshouyu 在 PR #11177 提交了第一個貢獻
Dubbo 3.2.0-beta.4
注:Dubbo 3.2.0-beta.4 的程式碼基礎和 Dubbo 3.1.5 完全一致,因此在 Dubbo 3.1.5 中包括的所有修改內容,在 Dubbo 3.2.0-beta.4 中也同樣存在,後續說明中對於重複的內容講不再贅述。
新特性
- 支援 bytebuddy 作為動態代理的生成平臺
- 支援採集超時指標進行上報
- 完善 Metrics 上報應用名
- 完善 Metrics 上報指標的字首
- 支援上報請求失敗的指標
- 完善 xDS 的監聽邏輯
- 完善 xDS 對接路由規則的能力
Bugfix
- 修復 Token 請求在 Rest 協議下不生效的問題
- 修復 GraalVM Native Image 的配置
- 修復配置類無法進行序列化的問題
- 修復 IPv6 地址段檢查無效的問題
- 修復路由鏈切換時地址可能存在異常的情況
- 修復快取檔案鎖被異常刪除的問題
- 修復 Deployer Listener 併發修改的問題
效能最佳化
- 最佳化 ConcurrentHashMap 的使用方式,避免在 JDK 1.8 下出現效能衰減
程式碼最佳化
本次釋出中有 8 個提交涉及程式碼質量的最佳化。
依賴升級
- 升級 protobuf-java: 3.18.3 -> 3.19.6
- 升級 cglib-nodep: 2.2 -> 2.2.2
- 升級 byte-buddy: 1.12.19 -> 1.12.22
- 升級 bouncycastle-bcprov_version: 1.69 -> 1.70
- 升級 javax.ws.rs-api: 2.0 -> 2.1.1
- 升級 curator_version: 4.2.0 -> 4.3.0
- 升級 maven-plugin-plugin: 3.6.0 -> 3.7.1
- 升級 javax.el: 3.0.1-b08 -> 3.0.1-b12
- 升級 slf4j-api: 1.7.25 -> 1.7.36
- 升級 spring-boot-dependencies: 2.3.1.RELEASE -> 2.7.7
- 升級 maven-enforcer-plugin: 3.0.0-M3 -> 3.1.0
- 升級 javassist: 3.28.0-GA -> 3.29.2-GA
- 升級 spring-boot-maven-plugin: 2.1.4.RELEASE -> 2.7.7
- 升級 javax.el-api: 2.2.4 -> 2.2.5
- 升級 eureka.version: 1.9.12 -> 1.10.18
- 升級 jetty-maven-plugin: 9.4.38.v20210224 -> 9.4.50.v20221201
- 升級 jetty_version: 9.4.43.v20210629 -> 9.4.50.v20221201
- 升級 resteasy_version: 3.0.20.Final -> 3.15.3.Final
貢獻者
Dubbo 感謝以下貢獻者對本次釋出的貢獻:@aamingaa, @AlbumenJ, @CrazyHZM, @fomeiherz, @HHoflittlefish777, @icodening, @jojocodeX, @LXPWing, @MentosL, @mxsm, @schneiderlin, @sconvent, @ShenFeng312, @songxiaosheng, @TigerTurbo, @yuluo-yx, @zeusbee
新貢獻者
- @LXPWing 在 PR #11258 提交了第一個貢獻
- @HHoflittlefish777 在 PR #11266 提交了第一個貢獻
- @sconvent 在 PR #11260 提交了第一個貢獻
- @yuluo-yx 在 PR #11291 提交了第一個貢獻
- @fomeiherz 在 PR #11295 提交了第一個貢獻
- @schneiderlin 在 PR #11324 提交了第一個貢獻
- @mxsm 在 PR #11326 提交了第一個貢獻
未來版本規劃
Dubbo 版本的釋出規劃以及在《聚焦穩定性,Dubbo 發版規劃公佈》一文中正式釋出,歡迎檢視。
歡迎在 https://github.com/apache/dubbo 給 Dubbo Star。
搜尋關注官方微信公眾號:Apache Dubbo,瞭解更多業界最新動態,掌握大廠面試必備 Dubbo 技能