Enterprise Distributed Application Service (EDAS) supports the Apache Dubbo microservice framework. To deploy Apache Dubbo microservices to EDAS, you need only to add dependencies and modify configurations. This allows you to deploy the microservices in a non-invasive manner. After the deployment, you can use the features of EDAS, such as hosting of enterprise-level microservice applications, microservice governance, monitoring and alerting, and application diagnosis.

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 updated 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 new features.

Figure 1. Dubbo 2.6.x
Dubbo 2.6.x
Figure 2. Dubbo 2.7.x
Architecture of Dubbo 2.7

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. If 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.

The following figure shows the architectures before and after hosting.

Comparison of the Dubbo application architectures before and after hosting
  • 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 self-managed Dubbo Admin.
    • You can also continue to use the self-managed or MSE-hosted ZooKeeper, Nacos, or Eureka registry, and use the microservice governance capabilities provided by EDAS.
Type Open source component EDAS component Hosting description
Registry
  • Nacos (recommended)
  • ZooKeeper (recommended)
  • etcd
  • Consul
  • Eureka
  • Nacos (recommended)
  • EDAS registry
After you deploy applications to EDAS, you are automatically connected to the registry.
Configuration center
  • Nacos (recommended)
  • ZooKeeper (recommended)
  • Apollo
Nacos (recommended) After you deploy applications to EDAS, you are automatically connected to the configuration center.
Metadata center
  • Nacos (recommended)
  • Redis (recommended)
  • ZooKeeper
Nacos (recommended) After you deploy applications to EDAS, you are automatically connected to the metadata center.

Benefits of hosting Dubbo applications to EDAS

After Dubbo applications are hosted 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. 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 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: