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.x
Dubbo 2.6.x
圖 2. Dubbo 2.7.x
Dubbo 架構-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提供的彈性伸縮、限流降級、監控及微服務治理能力,而且整個托管過程對您來說是完全透明的,不會增加理解和開發成本。托管的具體價值如下:

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

相關操作

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

說明

在本地開發應用時,可以使用Alibaba Cloud Toolkit插件實現本地應用和部署在EDAS中的應用的相互調用,即端云互聯,而無需搭建VPN,幫助您提升開發效率。更多信息,請參見端云互聯簡介