Industry Insights 19 min read

How Dada Built an Automated Business Config Center to Boost Stability and Efficiency

This article details Dada's journey from identifying costly business‑configuration pain points to designing and deploying an automated configuration center that isolates business settings, improves system stability, enhances robustness, accelerates development, secures data, and delivers measurable performance gains.

Dada Group Technology
Dada Group Technology
Dada Group Technology
How Dada Built an Automated Business Config Center to Boost Stability and Efficiency

Background

Approximately 20% of entries in Dada’s R&D configuration center are business‑specific configurations. Although a small proportion, they cause high operational cost because they share the same release pipeline as core R&D configs.

Case Example

The logistics platform must manage crowdsourced couriers (riders) and enforce service‑quality training based on complaints. A rider with a complaint generates a work order and must attend a training course; a rider without complaints does not. The training rule depends on dimensions such as city, site, rider type, and complaint reason.

Rider training configuration
Rider training configuration

Pain Points and Goals

Pain Points

System stability : Business configs are released together with R&D configs, risking stability.

Robustness : Configs stored as raw JSON lack validation and visual editing.

Efficiency : Long change‑to‑deployment cycle involving many roles.

Data security : All R&D config users can view business configs.

Data analysis : Analysts cannot query config data directly.

Goals

Isolate business configs from R&D configs to reduce release frequency.

Provide visual configuration with built‑in validation.

Enable self‑service configuration for product operations.

Implement fine‑grained permission control.

Achieve high availability via a decentralized client.

Support real‑time notification of config changes.

Expose config data for analyst queries.

Solution Architecture

The custom center consists of a web portal for configuration management and a client library ( dada-biz-config) for reading configurations. Apollo is used as the underlying store for its operational maturity, stability, decentralized deployment, and open API support.

Architecture diagram
Architecture diagram

Configuration Creation Workflow

Creating a configuration involves three visual steps:

New Configuration : Click “Add” on the configuration list page.

Add configuration
Add configuration

Define Columns : Specify columns (e.g., city, site, rider type, complaint type, order days, training course) which become the table header.

Define columns
Define columns

Configuration Details : Add rows using a visual form; each column renders an appropriate front‑end component for data entry.

Add rows
Add rows

After creation, users can edit, delete, or view operation logs.

Operation logs
Operation logs

Permission Management

Owners and administrators can assign read/write permissions to specific users.

Permission control
Permission control

Column Types and Business Components

Three column‑type categories are supported:

Custom : Basic types such as boolean, string, number, decimal, date.

Predefined enums : Users define an enumeration; the UI renders a dropdown.

Business components : Pull data directly from existing business tables (e.g., city, site) to handle high‑cardinality dimensions.

Business component
Business component

Default Configuration & Combination Deduplication

A fallback default configuration can be set for cases where no specific rule matches.

Default config
Default config

Columns can be marked for unique‑key combination to ensure only one configuration matches a given dimension set (e.g., city + rider type + complaint type).

Combination deduplication
Combination deduplication

Client API

The dada-biz-config library provides three retrieval methods: getBizConfigsByKey: Retrieve all configuration data. getBizConfigsByColumns: Filter by column values (e.g., all configs for Shanghai). getBizConfigByUniqueIndex: Retrieve a single config based on the unique‑key combination.

Results

Since launch (up to September), the center has integrated 296 configurations, added 80 new configs in two months, and processed over 600 modifications, saving an estimated 200+ person‑days. It handled the 2021 “618” traffic peak without incidents.

Performance: steady request volume of ~7 k QPM with average latency around 0.1 ms, demonstrating high scalability.

Request volume
Request volume
Response latency
Response latency

Future Plans

Break Apollo’s single‑key length limit to store larger configurations.

Enable cross‑environment configuration synchronization (dev → QA → prod).

Integrate more business components to support additional scenarios.

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.

Backend ArchitectureAutomationsystem stabilityConfiguration ManagementDevOpsperformance metrics
Dada Group Technology
Written by

Dada Group Technology

Sharing insights and experiences from Dada Group's R&D department on product refinement and technology advancement, connecting with fellow geeks to exchange ideas and grow together.

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.