Backend Development 12 min read

JD.com Flash Sale Product Pool Expansion: Architecture Upgrade and Performance Optimization

This article details how JD.com tackled rapid growth of its flash‑sale product pool by analyzing JVM GC bottlenecks, redesigning the system architecture, introducing dual‑cache bucket updates, local LRU caching, Bloom filters, and service separation, ultimately achieving significant performance and stability improvements for large‑scale promotions.

JD Tech
JD Tech
JD Tech
JD.com Flash Sale Product Pool Expansion: Architecture Upgrade and Performance Optimization

JD.com’s flash‑sale channel experienced explosive growth in product count and traffic, prompting a dedicated product‑pool expansion project that aimed to scale the pool by 5‑10× while maintaining system stability.

Initial analysis revealed severe heap memory pressure during major sales events, with frequent Minor and Full GCs, large temporary String objects, and dynamic tenuring thresholds causing rapid promotion of objects to the old generation.

Optimization efforts included:

Implementing a dual‑cache bucket update mechanism that hashes SKUs into buckets and performs updates at bucket granularity, reducing update frequency.

Introducing a local LRU cache (Caffeine) alongside JIMDB to separate hot and cold data, limiting in‑memory product count.

Splitting the monolithic service into independent core‑service and product‑tagging service deployments for resource isolation.

Adding a Bloom filter to filter out invalid SKU requests, preventing cache penetration.

After the architectural upgrades, extensive load testing and gradual rollout demonstrated a 90% reduction in interface latency during the 618 promotion, lower GC frequency, and the ability to support millions of products with horizontal scalability.

The project concluded that careful product‑update granularity, cache tiering, and service decomposition are effective strategies for scaling high‑concurrency e‑commerce systems.

distributed systemsJavaJVMsystem architecturecachingPerformance Tuninggc optimization
JD Tech
Written by

JD Tech

Official JD technology sharing platform. All the cutting‑edge JD tech, innovative insights, and open‑source solutions you’re looking for, all in one place.

0 followers
Reader feedback

How this landed with the community

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