Design of a High‑Concurrency Inventory Search System with Caching and Asynchronous Processing

The article describes the architecture and optimization techniques of Qunar's inventory search service, covering background business flow, challenges of high‑traffic multi‑channel integration, and detailed solutions such as product cataloging, channel cache utilization, request replay, cache isolation, unified cache management, cold‑hot segregation, and full‑process asynchronous handling to improve cache hit rate, update efficiency, and overall throughput.

Qunar Tech Salon
Qunar Tech Salon
Qunar Tech Salon
Design of a High‑Concurrency Inventory Search System with Caching and Asynchronous Processing

Qunar's ticket inventory is a core business where each seat is managed as a stock item; the system must handle millions of daily search and booking requests across many channels.

The inventory search workflow includes supplier operations (stock entry, price adjustment, value‑added services) and user actions (price search, stock reservation, stock release). Core metrics are inventory turnover efficiency and accuracy.

Challenges arise from a large number of personalized channels, causing high request QPS (>5K) and the need for minute‑level price updates, leading to pressure on the inventory service.

Solution design focuses on three goals: reduce invalid requests, improve cache hit rate, and enhance cache update efficiency.

Reduce invalid requests : implement product cataloging to let channels filter requests locally and use channel cache notifications to keep channel caches fresh.

Improve cache hit rate : employ request replay to keep hot cache entries, and apply cache isolation to separate common attributes (cost price, available quantity) from channel‑specific data.

Enhance cache update efficiency : adopt cold‑hot segregation of replay queues, unified cache manager, and complete closed‑loop notifications for events such as stock addition, price change, and sale.

Additional techniques include a work‑shard exchange space for replay queues, full‑process asynchronous processing using Spring Web MVC async and MQ callbacks, and careful thread‑pool separation to achieve high throughput while maintaining real‑time response.

The design provides a reference for similar high‑concurrency inventory search systems.

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.

inventorySystem DesignAsynchronouscachinghigh concurrencySearch
Qunar Tech Salon
Written by

Qunar Tech Salon

Qunar Tech Salon is a learning and exchange platform for Qunar engineers and industry peers. We share cutting-edge technology trends and topics, providing a free platform for mid-to-senior technical professionals to exchange and learn.

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.