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版本,以便使用不斷增加的新功能。
Dubbo服務框架的工作流程如下:
- 提供者在啟動時,在注冊中心注冊服務。
- 消費者在啟動時,在注冊中心訂閱所需的服務。
- 注冊中心返回提供者地址列表給消費者。如果提供者發生變更,注冊中心將推送變更數據給消費者。
- 消費者基于軟負載均衡算法,從提供者地址列表中選一個提供者進行調用。
Dubbo應用托管到EDAS的含義
Dubbo應用托管到EDAS的核心是三個中心的托管:注冊中心、配置中心和元數據中心。
托管前后架構如下圖所示:
- 托管到EDAS前:
您需要自行搭建、維護注冊中心、配置中心和元數據中心。注冊中心為ZooKeeper或Nacos等開源組件,配置中心和元數據中心包含在Dubbo Admin中。
- 托管到EDAS后:
- EDAS提供Nacos(包含注冊中心、配置中心和元數據中心)和Dubbo服務治理平臺。您不需要搭建、維護這些組件,也無需關注這些組件的可用性,并且還可以使用比自建Dubbo Admin更強大的微服務治理平臺。
- 您也可以繼續使用自建或由MSE托管的ZooKeeper、Nacos或Eureka注冊中心。同時,正常使用EDAS提供的微服務治理能力。
中心類型 | 開源組件 | EDAS組件 | 托管說明 |
---|---|---|---|
注冊中心 |
|
|
您只需將應用部署到 EDAS 中,即可默認接入注冊中心。 |
配置中心 |
|
Nacos(推薦) | 您只需將應用部署到EDAS中,即可默認接入配置中心。 |
元數據中心 |
|
Nacos(推薦) | 您只需將應用部署到EDAS中,即可默認接入元數據中心。 |
Dubbo應用托管到EDAS的價值
將Dubbo應用托管到EDAS,您只需要關注Dubbo應用自身的邏輯,無需關注注冊中心、配置中心和元數據中心的搭建和維護。托管后還可以使用EDAS提供的彈性伸縮、限流降級、監控及微服務治理能力,而且整個托管過程對您來說是完全透明的,不會增加理解和開發成本。托管的具體價值如下:
- 成本:無需自行運維Eureka、ZooKeeper、Consul等中間件組件,可以直接使用EDAS提供的服務發現和配置管理能力。
- 部署:EDAS提供了啟動參數靈活配置、流程可視化、服務優雅上下線和分批發布等功能,讓您的應用部署可配、可查、可控。
- 服務治理:EDAS提供了服務查詢、條件路由、黑白名單、標簽路由、動態配置、負載均衡配置、權重配置和統一配置管理,您可以對應用進行全面的服務治理。
- 彈性伸縮:EDAS提供了彈性伸縮功能,您可以根據流量高峰和低谷實時地為應用擴容和縮容。
- 限流降級:EDAS提供了限流降級功能,保證您的應用可用性。
- 監控:EDAS集成了ARMS的部分監控功能,除了基本的實例信息查詢外,您還可以查詢微服務調用鏈、服務調用拓撲和慢SQL。
相關操作
EDAS支持多種Dubbo微服務應用的開發方式:
-
如需使用Spring Boot開發Dubbo微服務應用,請參見使用Spring Boot開發Dubbo微服務應用。
-
如果僅想體驗如何將Dubbo應用托管到EDAS,可以使用Alibaba Cloud Toolkit創建一個Demo示例,然后部署到EDAS,請參見使用Cloud Toolkit開發Dubbo微服務應用樣例工程。
在本地開發應用時,可以使用Alibaba Cloud Toolkit插件實現本地應用和部署在EDAS中的應用的相互調用,即端云互聯,而無需搭建VPN,幫助您提升開發效率。更多信息,請參見端云互聯簡介。