Enterprise Distributed Application Service (EDAS) supports the Apache Dubbo microservice framework. With zero code intrusion, you can deploy Apache Dubbo microservices to EDAS simply by adding dependencies and modifying configurations. 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 diagnosis.

Dubbo architecture

There are two mainstream versions of open-source Apache Dubbo: 2.6.x and 2.7.x.

  • Dubbo 2.6.x is widely used and will be maintained, but will not be upgraded with new features.
  • Dubbo 2.7.x is the latest version of Apache 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.

Dubbo 2.6.x

Dubbo Archi-2.6

Dubbo 2.7.x

Dubbo Archi-2.7

The workflow of the Dubbo service framework is as follows:

  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

Hosting a Dubbo application to EDAS is hosting the registry, configuration center, and metadata center.

The architectures before and after hosting are shown in the following figures:

  • Before hosting, you need to 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 hosting, EDAS provides Nacos (including the registry, configuration center, and metadata center) and the Dubbo service governance platform. You do not need to build or maintain these components or monitor their availability. You can use a microservice governance platform more powerful than the user-created Dubbo Admin.
Type Open-source component EDAS component Hosting instruction
Registry
  • Nacos (recommended)
  • ZooKeeper (recommended)
  • etcd
  • Consul
  • Eureka
  • Nacos (recommended)
  • EDAS registry
Nacos is the recommended registry. You only need to add the open-source dubbo-nacos-registry dependency to the application.
Configuration center
  • Nacos (recommended)
  • ZooKeeper (recommended)
  • Apollo
Nacos (recommended) Add the dubbo-configcenter-nacos dependency to the application.
Metadata center
  • Nacos (recommended)
  • Redis (recommended)
  • ZooKeeper
Nacos (recommended) Add the dubbo-metadata-report-nacos dependency to the application.

Benefits of hosting Dubbo applications to EDAS

By hosting Dubbo applications to EDAS, you only need to focus on building the logic of the Dubbo applications other than creating and maintaining the registry, configuration center, and metadata center. Also, you can take advantage of EDAS capabilities such as auto scaling, throttling, graceful service 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. Specific benefits of hosting are as follows:

  • Costs: EDAS provides the service discovery and configuration management features, saving you from maintaining the middleware such as Eureka, ZooKeeper, and Consul.
  • Deployment: EDAS provides flexible configuration of startup parameters, process visualization, graceful service connection and disconnection, and batch publishing, allowing you to configure, query, and manage your application deployment.
  • Service governance: EDAS provides the service query, conditional routing, blacklist and whitelist, label-based routing, dynamic configuration, load balancing configuration, weight configuration, and centralized configuration management, allowing you to comprehensively govern your services.
  • Auto scaling: EDAS provides the auto scaling feature, allowing you to dynamically scale your applications in or out based on traffic peaks and valleys.
  • Throttling and degradation: EDAS provides throttling and graceful service degradation to ensure the 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.

References

EDAS supports multiple methods of developing Dubbo applications:

Note