Enterprise Distributed Application Service (EDAS) supports the Apache Dubbo (Dubbo) microservices framework. You can deploy Dubbo microservices to EDAS by adding dependencies and modifying configurations, without interfering with code. Then, you have access to the features of EDAS, such as hosting of enterprise-level microservice-oriented applications, microservice governance, monitoring and alerting, and application diagnostics.

Architecture

Two mainstream versions of open source Dubbo are available: 2.6.x and 2.7.x.

  • Dubbo 2.6.x is widely used and will continue to be maintained, but will not be upgraded with new features.
  • Dubbo 2.7.x is the latest version of Dubbo and will be upgraded with new features.

We recommend that you use Dubbo 2.7.x. If you are using Dubbo 2.6.x, we recommend that you migrate to Dubbo 2.7.x to use future new features.

The following process shows the workflow of the Dubbo microservices framework:

  1. During startup, the provider registers with the registry.
  2. During startup, the consumer subscribes to services from the registry as needed.
  3. The registry returns a list of provider addresses to the consumer. When the provider changes, the registry pushes changed data to the consumer.
  4. The consumer selects a provider from the list of provider addresses based on the software load balancing algorithm.

Meaning of hosting Dubbo applications to EDAS

The core of hosting a Dubbo application to EDAS is to host the registry, configuration center, and metadata center.

  • Before:

    Before you host an application to EDAS, you must build and maintain the registry, configuration center, and metadata center. The registry is an open source component such as ZooKeeper or Nacos. The configuration center and metadata center are included in Dubbo Admin.

  • After:
    • After you host an application to EDAS, EDAS provides the Dubbo service governance platform and Nacos that contains the registry, configuration center, and metadata center. You do not need to build or maintain these components or monitor their availability. You can use a microservice governance platform that is more powerful than the user-created Dubbo Admin.
    • You can also continue to use the user-created or MSE-hosted ZooKeeper, Nacos, or Eureka registry, and use the microservice governance capabilities provided by EDAS.
Type Open source component EDAS component Hosting instruction
Registry
  • Nacos (recommended)
  • ZooKeeper (recommended)
  • etcd
  • Consul
  • Eureka
  • Nacos (recommended)
  • EDAS registry
After you deploy applications to EDAS, you are connected to the registry by default.
Configuration center
  • Nacos (recommended)
  • ZooKeeper (recommended)
  • Apollo
Nacos (recommended) After you deploy applications to EDAS, you are connected to the configuration center by default.
Metadata center
  • Nacos (recommended)
  • Redis (recommended)
  • ZooKeeper
Nacos (recommended) After you deploy applications to EDAS, you are connected to the metadata center by default.

Benefits of hosting Dubbo applications to EDAS

By hosting Dubbo applications to EDAS, you need only to focus on how to build the logic of the applications. You do not need to pay attention to the creation or maintenance of the registry, configuration center, and metadata center. You can also take advantage of EDAS capabilities such as auto scaling, throttling and degradation, monitoring, and microservice governance for various management purposes. The entire hosting process is completely transparent to you. It does not require you to learn anything, or increase your development costs. The following information specifies the benefits of hosting:

  • Costs: EDAS provides the service discovery and configuration management features, which save you from maintaining middleware components such as Eureka, ZooKeeper, and Consul.
  • Deployment: EDAS provides flexible configuration of startup parameters, process visualization, graceful service connection and disconnection, and batch publishing, which allow you to configure, query, and manage your application deployment.
  • Service governance: EDAS provides service query, conditional routing, blacklist and whitelist, label-based routing, dynamic configuration, load balancing configuration, weight configuration, and centralized configuration management, which allow you to comprehensively govern your services.
  • Auto scaling: EDAS provides the auto scaling feature, which allows you to dynamically scale your applications in or out based on traffic peaks and valleys.
  • Throttling and degradation: EDAS provides the throttling and degradation feature to ensure high availability of your applications.
  • Monitoring: EDAS integrates some monitoring features of Application Real-Time Monitoring Service (ARMS). In addition to instance information query, EDAS also provides advanced monitoring features such as microservice trace query, service call topology query, and slow SQL query.

Related operations

EDAS supports multiple methods to develop Dubbo microservice-oriented applications: