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,帮助您提升开发效率。更多信息,请参见端云互联简介。