首頁 > Java > java教程 > 主體

Apache Dubbo 發布:Triple X 引領微服務通訊新時代

Patricia Arquette
發布: 2024-10-22 20:47:51
原創
622 人瀏覽過

Apache Dubbo 星數已突破 40,000,團隊自豪地宣布 Dubbo 3.3 正式發布! Dubbo作為領先的開源微服務框架,始終致力於為開發者提供高效能、可擴展、靈活的分散式服務解決方案。 Dubbo 3.3的發布,Triple X升級,打破了以往的限制,實現了對南北向、東西向流量的全面支持,增強了與雲原生架構的兼容性。

達博簡介

Apache Dubbo 是一個高效能、輕量級的微服務框架,最初是用 Java 開發的。此後,它已擴展到支援多種語言,例如 Go、Rust 和 Python,使其成為建立跨語言、跨平台分散式系統的理想選擇。 Dubbo 提供了豐富的服務治理功能,包括服務註冊與發現、負載平衡、容錯、呼叫鏈追蹤等,幫助開發者建立高效、靈活的微服務架構。

隨著Dubbo的發展,通訊效能、服務治理、跨語言相容性等方面都得到了顯著提升,成為支援現代微服務架構的強大工具。

Triple X升級的背景

在早期應用中,Dubbo 在資料中心服務互通方面表現出了優異的效能。然而,隨著技術的發展和應用場景的擴大,原有的架構開始出現瓶頸。這些限制在跨地域、跨雲環境中尤其明顯,Web框架和RPC框架之間的頻繁切換導致開發複雜度增加,系統效能下降。

傳統建築的痛點:

  1. 僅限於資料中心應用:在跨地域或跨雲應用中,Dubbo 傳統架構缺乏對廣域環境的原生支持,迫使開發者在多種協定和框架之間切換,複雜性不斷增加。

  2. 南北向和東西向流量的挑戰:像Dubbo這樣的傳統RPC框架通常更關注服務到服務(東西向)流量的最佳化。然而,對高效南北通訊(客戶端到伺服器)的需求不斷增加,帶來了新的挑戰。

  3. 雲端原生與跨語言需求:隨著雲端原生技術的發展,系統需要更好地支援HTTP協定和跨語言通信,而這是傳統Dubbo無法做到的最佳化。

Triple X 的轉換與突破:Triple X升級直接解決了這些痛點。它延續了Dubbo的高效能通訊能力,同時實現了gRPC協定的全面相容,支援HTTP/1、HTTP/2、HTTP/3協定。這為跨雲端、跨地域的應用場景提供了更大的靈活性和效率。

Apache Dubbo  Released: Triple X Leads a New Era of Microservices Communication

Triple X 核心能力概述

  • 全面的流量支援:Triple X 支援南北向(客戶端到伺服器)和東西向(服務到服務)流量。這種無縫支援確保了靈活的轉換,提高了通訊鏈路的整體效率。

  • 符合gRPC協定標準:Triple X遵守gRPC協定標準,允許透過Protobuf進行通訊。這樣可以實現與gRPC服務的無縫交互,擴展了Dubbo的跨語言、跨平台通訊能力。

  • 基於HTTP 協定構建,原生雲原生支援:Triple X 基於HTTP/1、HTTP/2 和HTTP/3 構建,優化網路效能並與雲端原生整合基礎設施,包括對各種網關和服務網格的支援。

  • 高效能最佳化:Triple X提供極致的效能增強,特別是在高並發和弱網路環境下,顯著提高系統吞吐量和回應速度。

  • 平滑遷移和框架相容性:Triple X 允許開發者在不修改程式碼的情況下遷移現有的Spring Web 項目,提供到Triple X 的無縫切換,同時保留對Spring MVC 等框架的支援。

  • 高擴充性:憑藉 20 多個新的 SPI 擴充點,Triple X 可以自訂核心行為,包括路由、參數解析、序列化和異常處理。這增強了靈活性,允許開發人員調整框架以滿足特定的業務需求。

Triple X 使用場景

Dubbo 3.3中的

Triple X為微服務架構提供了靈活的整合方式,適應不同的系統需求。根據系統架構的不同,Triple X提供了集中式去中心化兩種整合方式,適合各種應用場景。

1. 集中集成

採用集中整合的方式,外部流量透過統一的服務閘道進入Dubbo後端服務。網關處理 HTTP 流量解析、轉送並將請求路由到適當的後端服務。這種方式適合對統一流量管理、流量控制、權限驗證要求較高的系統,可以對傳入流量進行集中控制。

Apache Dubbo  Released: Triple X Leads a New Era of Microservices Communication

  • 使用場景:對於需要集中管理外部請求的系統,例如流量監控、限速等,Triple X 可以高效處理HTTP/1、HTTP/2、HTTP/3 流量通過服務網關轉送至Dubbo服務。

  • 優點:集中控制,易於管理,適合需要統一流量治理的大型系統。

2. 去中心化集成

採用去中心化整合方式,外部客戶端可以直接透過HTTP存取Dubbo後端服務,無需依賴中間網關。這種方法適合具有高效能和低延遲要求的系統,因為它不需要網關,從而減少了通訊開銷,從而提高了系統回應速度。去掉網關節點也避免了網關故障導致的系統不可用,簡化了部署架構,增強了穩定性。

Apache Dubbo  Released: Triple X Leads a New Era of Microservices Communication

  • 使用場景:對於需要透過HTTP直接存取Dubbo服務以減少中間步驟、提高反應速度的系統,Triple X允許無需網關即可暴露REST API。

  • 優點:消除中間步驟,提高效能,簡化架構,適合低延遲應用。

Triple X 功能的詳細分解

1. 全面的交通管理和高效率的溝通

在複雜的微服務架構中,處理南北(客戶端到伺服器)和東西(服務到服務)流量可能具有挑戰性。 Triple X 使用統一的通訊協定來支援兩者,無需在 Web 和 RPC 框架之間切換,簡化了開發流程,提高了效能和可維護性。

開發者可以利用 Triple X 來有效支援用戶發起的請求和服務間通信,所有這些都透過 Triple X 順利傳輸。

package org.apache.test;

@DubboService
public class UserServiceImpl implements UserService {
   // Handles east-west requests
}

// Triple X also supports north-south traffic
@DubboService
public class OrderService {
   @GetMapping("/order/{orderId}")
   public Order getOrderById(@PathVariable("orderId") String orderId) {}
}
登入後複製
登入後複製

2. 符合gRPC協議標準

跨語言服務之間的通訊通常是分散式系統中的一個挑戰,而 gRPC 是一種流行的解決方案。 Triple X 遵循gRPC 協定標準,透過 Protobuf 實現與 gRPC 的無縫交互,增強了跨語言、跨平台的通訊能力。

使用 Triple X 的服務可以直接與基於 gRPC 的服務交互,無需額外的適配,簡化了開發。

3.基於HTTP協定構建,原生雲原生支持

在雲端原生環境中,服務需要與 API 網關、服務網格等各種網路設施有效集成,同時支援不同的 HTTP 協定以增強效能。

Triple X 支援HTTP/1、HTTP/2 和HTTP/3,讓開發人員可以利用這些協定的優勢,例如長連接、多重化和標頭壓縮,而無需額外配置。 HTTP/3也解決了隊頭阻塞問題,其基於UDP的通訊在弱網路環境下保持高品質和服務效能。

Triple X 允許重複使用 Spring Boot 現有的 Servlet 連接埠來處理 HTTP 流量,因此無需單獨的 Netty 監聽連接埠。這樣可以簡化網路架構,降低維護成本,提高安全性,讓流量更輕鬆地通過企業防火牆和網關。

Apache Dubbo  Released: Triple X Leads a New Era of Microservices Communication

4.高效能優化,QPS提升5倍

在高並發場景下,傳統通訊協定往往會出現瓶頸,影響系統回應時間和吞吐量。

🎜>

高效路由:使用Radix Tree進行路由匹配,優化key hash演算法並支援動態更新,減少記憶體佔用,提高匹配效率。

  • 最佳化記憶體使用:將零複製與物件重複使用結合,減少資料複製和物件建立開銷,從而降低垃圾收集壓力並提高吞吐量。

  • HTTP/3 支援:利用基於 QUIC 的 HTTP/3 協議,透過減少延遲和增強連接可靠性來提高弱網路條件下的效能。

  • 多重協定壓測與最佳化:Dubbo團隊對多個協定進行了大量的壓測,並進行了多輪最佳化,保證了不同場景下的最佳效能。

效能測試表明,與傳統的Spring Boot REST 服務相比,使用Triple X 的簡單REST 服務在高壓下可以實現五倍的QPS,響應時間減少至三分之一,內存分配降低50%,大幅提升系統效能和資源效率。

Apache Dubbo  Released: Triple X Leads a New Era of Microservices Communication

Apache Dubbo  Released: Triple X Leads a New Era of Microservices Communication

Apache Dubbo  Released: Triple X Leads a New Era of Microservices Communication

Apache Dubbo  Released: Triple X Leads a New Era of Microservices Communication

5. 平滑遷移和框架相容

Triple X 也支援將現有 Spring Web 專案移轉到微服務架構,而無需進行重大程式碼變更。

Triple X 提供了零侵入的遷移解決方案,允許開發人員將現有 Spring Web 專案遷移到 Triple X,而無需更改現有程式碼,同時仍支援 Spring MVC 等框架。

package org.apache.test;

@DubboService
public class UserServiceImpl implements UserService {
   // Handles east-west requests
}

// Triple X also supports north-south traffic
@DubboService
public class OrderService {
   @GetMapping("/order/{orderId}")
   public Order getOrderById(@PathVariable("orderId") String orderId) {}
}
登入後複製
登入後複製

此版本中的其他增強功能概述

1.原生鏡像AOT支持

Dubbo 3.3 引入了對原生鏡像 AOT(提前編譯) 的支持,允許開發者將 Dubbo 應用程式編譯為原生二進位。這顯著減少了啟動時間和記憶體使用量,使其成為無伺服器場景的理想選擇。

2. 專案 Loom 支持

Dubbo 3.3 新增對 Project Loom 的支持,透過虛擬執行緒優化高並發場景下的執行緒管理,簡化非同步程式設計模型,提升並發處理能力。

3. 新的路由規則

Dubbo 3.3也引入了新的路由規則,支援更靈活的流量控制和服務治理,增強大規模微服務部署的適應性。

結論

Apache Dubbo 3.3的發布標誌著微服務通訊技術的一個重要里程碑。憑藉Triple X,Dubbo 現在提供了對南北向和東西向流量的全面支援、與gRPC 的無縫整合、透過HTTP 協定的雲端原生支援以及顯著的效能優化,為開發者提供了強大的用於建構現代分散式系統的靈活工具。

無論您需要提升服務間通訊效率、實現跨語言相容,或是最佳化雲端原生通訊效能,

Dubbo 3.3都是應對現代分散式系統挑戰的理想選擇。今天升級到Dubbo 3.3,體驗Triple X帶來的變革,開啟微服務通訊新時代!

以上是Apache Dubbo 發布:Triple X 引領微服務通訊新時代的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板