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