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 2.6.x

EDAS应用开发Dubbo2.6x

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