Revamping Dubbo Service Governance: Inside the New Dubbo Admin 0.1

Dubbo Admin 0.1, a freshly refactored standalone project, replaces the old Webx backend with Spring Boot, adopts Vue and Vuetify for the UI, integrates Swagger, and introduces updated configuration, tag routing, application‑level service governance, and metadata‑driven testing to fully support Dubbo 2.7 features.

Java Backend Technology
Java Backend Technology
Java Backend Technology
Revamping Dubbo Service Governance: Inside the New Dubbo Admin 0.1

To improve the user experience of Dubbo milestone version 2.7.0, a refactoring plan for Dubbo Admin was launched last year and the first version (v0.1) has been released, showing the following structural changes:

Replace the backend framework from Webx with Spring Boot.

Use Vue and Vuetify.js for the frontend.

Remove Velocity templates.

Integrate Swagger to provide API management.

Dubbo Admin as an Independent Project

The Dubbo Admin console has a low coupling with core Dubbo functions, and its deployment and release cycles differ from the core runtime. Therefore, Dubbo Admin is released as an independent project in the community.

Configuration Specification

Since Dubbo 2.7 separates the configuration center and the registry center and adds a metadata center, the configuration method of Dubbo Admin is updated. The application.properties file contains the following settings:

It can also specify metadata and registry addresses in the configuration center, for example using ZooKeeper:

The address configured in the configuration center overrides the local application.properties settings.

Feature Introduction

The new version retains most functions of previous releases, such as service query and governance, while Dubbo 2.7 adds significant improvements to service governance that are exposed through Dubbo Admin.

Tag Routing

Tag routing is a new feature introduced in Dubbo 2.7. It tags servers with different names at the application level. The configuration is shown in the following diagram:

When calling a service, the client can set the tag name via setAttachment, e.g., setAttachment(tag1), to achieve traffic isolation, gray release, and other scenarios.

Application‑Level Service Governance

Dubbo 2.7 adds application‑level service governance, allowing condition routing, dynamic configuration, and weight settings to be applied at the application scope. The configuration is expressed in YAML format, as shown below:

Dubbo Admin reads both Dubbo 2.6 (URL) and Dubbo 2.7 (configuration file) formats for service‑level rules, ensuring compatibility with older clients. Application‑level rules are written only in Dubbo 2.7 format.

Configuration Management

Dubbo 2.7 introduces global and application‑level configurations. Global configuration can specify registry and metadata center addresses, timeout settings, etc., and is effective across the entire system.

Application‑level configuration can set parameters for the application or its services. Provider and consumer configurations are distinguished by keys such as dubbo.reference.{serviceName} and dubbo.provider.{serviceName}. The priority order is service > application > global.

Metadata and Service Testing

Metadata, a new element in Dubbo 2.7, is used in Dubbo Admin for service detail display and testing. Service details now include full method signatures, parameters, and return types.

Metadata also provides a data foundation for service testing, allowing users to invoke real service providers directly from the page without setting up a separate Dubbo environment.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

metadataConfigurationDubboSpring BootVueservice governance
Java Backend Technology
Written by

Java Backend Technology

Focus on Java-related technologies: SSM, Spring ecosystem, microservices, MySQL, MyCat, clustering, distributed systems, middleware, Linux, networking, multithreading. Occasionally cover DevOps tools like Jenkins, Nexus, Docker, and ELK. Also share technical insights from time to time, committed to Java full-stack development!

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.