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.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.
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.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.