Backend Development 6 min read

Understanding Traffic Peak Shaving and Detailed Solutions for High‑Concurrency Scenarios

This article explains the concept of traffic peak shaving in high‑concurrency internet services, illustrates real‑world examples such as ticket抢购 and flash sales, and presents detailed mitigation techniques including message‑queue buffering and multi‑layer funnel filtering to protect downstream systems.

Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Understanding Traffic Peak Shaving and Detailed Solutions for High‑Concurrency Scenarios

Traffic peak shaving (流量削峰) is a typical scenario in internet services where massive numbers of users simultaneously request resources, such as train ticket purchases during Chinese New Year or Alibaba's Double‑11 flash sales. The sudden surge can overwhelm servers, causing crashes or service outages.

To mitigate these spikes, the article proposes two main strategies:

1. Message‑Queue Buffering

By converting synchronous calls into asynchronous messages, a queue (e.g., RabbitMQ, Kafka, RocketMQ) absorbs the instantaneous traffic burst and releases requests gradually, acting like a reservoir that smooths the flow of data to downstream systems.

2. Funnel‑Style Layered Filtering

Requests are filtered through multiple layers before reaching the database, similar to a funnel that progressively reduces volume:

CDN filters static resources and images.

Distributed caches (e.g., Redis) intercept read requests.

Time‑based sharding discards expired write requests.

Rate‑limiting protects write operations from exceeding system capacity.

Only valid, strongly consistent writes (e.g., order creation and payment) reach the database.

Summary

1. Intercept high‑concurrency requests upstream (CDN, cache, rate limiting) to reduce downstream pressure and avoid database lock contention.

2. Separate static and dynamic resources; serve static assets via CDN.

3. Leverage caching (Redis, etc.) to increase QPS and overall throughput.

4. Use message queues (Kafka, RabbitMQ) to absorb traffic spikes and release them smoothly.

These practices collectively ensure system stability during massive traffic bursts.

Backendload balancinghigh concurrencyMessage Queuepeak shavingtraffic shaping
Mike Chen's Internet Architecture
Written by

Mike Chen's Internet Architecture

Over ten years of BAT architecture experience, shared generously!

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.