Operations 19 min read

Design and Evolution of APPKIT: A Scalable Mobile Operation Configuration Platform

APPKIT is a scalable, JSON‑driven configuration platform that streamlines Meituan and Dazhong Dianping’s mobile operation resources through a three‑stage workflow, SDK‑based caching, and layered architecture, dramatically reducing release cycles, latency, and central‑service load while supporting multi‑platform deployment and robust monitoring.

Meituan Technology Team
Meituan Technology Team
Meituan Technology Team
Design and Evolution of APPKIT: A Scalable Mobile Operation Configuration Platform

Background

Meituan and Dazhong Dianping apps are heavily operated applications. Their operation resources (e.g., banners, promotional activities) need to be managed across multiple dimensions such as city, version, platform, and channel. The team needed a stable, flexible, and efficient configuration platform to support rapid version iteration.

Operation Resources

Operation resources are frequently changing assets like ads or activity banners. They are characterized by:

Time‑sensitivity – displayed only within a specific time window.

Strong city relevance – often tied to LBS services and limited to certain cities or regions.

Basic Configuration

Basic configuration includes entry resources, network settings, etc. Compared with operation resources, they change less frequently and are not tightly bound to time or city.

Problems Encountered

Low Operational Efficiency

New configuration requests required developers to build a configuration page, hand it over to operations, and then go through a lengthy release process. Each request could take 1‑2 days of development effort, leading to high cost and long cycles.

Rough Release Process

Initially, configuration changes were hard‑coded in the code base. This caused heavy reliance on code releases, lack of audit mechanisms, and no preview capability before going live.

Our Thinking

We proposed a three‑fold solution, named APPKIT (App Configuration Kit), to address flexibility, efficiency, and stability:

Data JSON‑ization

All configuration data is stored as JSON, allowing dynamic field expansion (title, subtitle, image, link, etc.). A field‑management tool handles the JSON schema.

Process Flow

A three‑stage workflow (draft → process → online) provides pre‑release preview, audit, and rollback capabilities.

SDK‑ization

An SDK runs on business machines, caching configuration locally, reducing dependence on centralized services, and providing asynchronous updates.

APPKIT Architecture

The system is divided into four layers:

4.1 Data Layer

Persistent data is stored in MySQL; hot data is cached in Redis. Three logical domains exist: draft data (editable, no impact on users), process data (under review), and online data (served to C‑end).

4.2 Service Layer

Provides four capabilities: operation backend, open platform, data service, and APPKIT‑SDK.

4.3 Access Layer

Supports the full lifecycle of an operation resource: creation, preview, audit, release, and post‑release rollback. Sensitive resources also pass security checks.

4.4 Monitoring Layer

Monitors SDK instance count, cache size, and data freshness. SDKs report access timestamps; data older than 24 hours is evicted. Periodic sync ensures data is refreshed within one minute.

Stability Evolution

Classic Scheme

Direct service call → Redis cache → MySQL fallback. Issues: network latency, cache jitter, single‑key capacity limits.

Cache Scheme

Added local memory cache to reduce latency, but still suffered from central service bottleneck and cache size limits.

SDK Scheme

Moved caching and data fetching into the SDK, eliminating central‑service pressure and network latency. Introduced challenges of data consistency, cache expiration, and SDK version upgrades, solved by ZooKeeper change notifications and periodic sync.

Effect Comparison

Performance tests show the SDK scheme dramatically reduces latency and stabilizes the system compared with the cache scheme.

Conclusion and Outlook

APPKIT demonstrates how JSON‑based data, process‑driven workflow, and SDK integration can build a high‑performance, flexible, and stable operation configuration platform for mobile apps. It now supports downstream systems such as Picasso (JS management, ABTest, entry management) and is being extended to multi‑platform (Android, iOS, H5, Mini‑Program) operation capabilities.

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.

SDKBackend Architectureconfiguration platformmobile operations
Meituan Technology Team
Written by

Meituan Technology Team

Over 10,000 engineers powering China’s leading lifestyle services e‑commerce platform. Supporting hundreds of millions of consumers, millions of merchants across 2,000+ industries. This is the public channel for the tech teams behind Meituan, Dianping, Meituan Waimai, Meituan Select, and related services.

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.