全部產品
Search
文件中心

Enterprise Distributed Application Service:Dubbo概述

更新時間:Jun 30, 2024

EDAS支援Apache Dubbo微服務架構,您在Apache Dubbo架構下開發的微服務只需添加依賴和修改配置,對代碼無侵入,即可部署到EDAS之後,擷取EDAS企業級的微服務應用託管、微服務治理、監控警示和應用診斷等能力。

Dubbo架構

開源Dubbo目前包含兩個主流版本:2.6.x和2.7.x。

  • 2.6.x:是目前廣泛使用的版本,還會繼續維護,但不會增加新功能。
  • 2.7.x:是Apache Dubbo最新的版本,會不斷增加新功能。

所以,推薦使用的是2.7.x版本。如果您使用的是2.6.x版本,也建議您遷移到2.7.x版本,以便使用不斷增加的新功能。

圖 1. Dubbo 2.6.xDubbo 2.6.x
圖 2. Dubbo 2.7.xDubbo 架構-2.7

Dubbo服務架構的工作流程如下:

  1. 提供者在啟動時,在註冊中心註冊服務。
  2. 消費者在啟動時,在註冊中心訂閱所需的服務。
  3. 註冊中心返回提供者地址清單給消費者。如果提供者發生變更,註冊中心將推送變更資料給消費者。
  4. 消費者基於軟負載平衡演算法,從提供者地址清單中選一個提供者進行調用。

Dubbo應用託管到EDAS的含義

Dubbo應用託管到EDAS的核心是三個中心的託管:註冊中心、配置中心和中繼資料中心。

託管前後架構如下圖所示:

Dubbo 應用託管前後架構對比
  • 託管到EDAS前:

    您需要自行搭建、維護註冊中心、配置中心和中繼資料中心。註冊中心為ZooKeeper或Nacos等開源組件,配置中心和中繼資料中心包含在Dubbo Admin中。

  • 託管到EDAS後:
    • EDAS提供Nacos(包含註冊中心、配置中心和中繼資料中心)和Dubbo服務治理平台。您不需要搭建、維護這些組件,也無需關注這些組件的可用性,並且還可以使用比自建Dubbo Admin更強大的微服務治理平台。
    • 您也可以繼續使用自建或由MSE託管的ZooKeeper、Nacos或Eureka註冊中心。同時,正常使用EDAS提供的微服務治理能力。
中心類型開源組件EDAS組件託管說明
註冊中心
  • Nacos(推薦)
  • ZooKeeper(推薦)
  • etcd
  • Consul
  • Eureka
  • Nacos(推薦)
  • EDAS註冊中心
您只需將應用部署到 EDAS 中,即可預設接入註冊中心。
配置中心
  • Nacos(推薦)
  • ZooKeeper(推薦)
  • Apollo
Nacos(推薦)您只需將應用部署到EDAS中,即可預設接入配置中心。
中繼資料中心
  • Nacos(推薦)
  • Redis(推薦)
  • ZooKeeper
Nacos(推薦)您只需將應用部署到EDAS中,即可預設接入中繼資料中心。

Dubbo應用託管到EDAS的價值

將Dubbo應用託管到EDAS,您只需要關注Dubbo應用自身的邏輯,無需關注註冊中心、配置中心和中繼資料中心的搭建和維護。託管後還可以使用EDAS提供的Auto Scaling、限流降級、監控及微服務治理能力,而且整個託管過程對您來說是完全透明的,不會增加理解和開發成本。託管的具體價值如下:

  • 成本:無需自行營運Eureka、ZooKeeper、Consul等中介軟體組件,可以直接使用EDAS提供的服務發現和組態管理能力。
  • 部署:EDAS提供了啟動參數靈活配置、流程可視化、服務優雅上下線和分批發布等功能,讓您的應用部署可配、可查、可控。
  • 服務治理:EDAS提供了服務查詢、條件路由、黑白名單、標籤路由、動態配置、負載平衡配置、權重配置和統一組態管理,您可以對應用進行全面的服務治理。
  • Auto Scaling:EDAS提供了Auto Scaling功能,您可以根據流量高峰和低穀即時地為應用擴容和縮容。
  • 限流降級:EDAS提供了限流降級功能,保證您的應用可用性。
  • 監控:EDAS整合了ARMS的部分監控功能,除了基本的執行個體資訊查詢外,您還可以查詢微服務調用鏈、服務調用拓撲和慢SQL。

相關操作

EDAS支援多種Dubbo微服務應用的開發方式: