Pattern · seen in 7 breakdowns across 7 companies
Priority-Aware Load Shedding
When a system is overloaded and has to turn work away, drop the least important requests first, so the critical ones keep flowing instead of failing along with everything else.
The mechanism
The pattern on its own, with the specifics of any real system stripped away: just plain traffic, one capacity limit, and a single toggle that turns priority shedding on or off.
Drag TRAFFIC past capacity, then flip SHED SMART - the toggle is the pattern.
Definition
Priority-aware load shedding means dropping the least important traffic first when a system is overloaded, instead of dropping requests evenly. Every request carries a priority tag - a small tier number, often t0 through t5. As the system gets overloaded, it drops the lowest-tier requests first. It only moves up to higher tiers if the overload continues after the lower tiers are already gone.
The idea is simple: not all traffic is equally worth keeping. A storage system might serve both ride-pricing queries (where every dropped request hurts a real user) and batch analytics jobs (where a dropped request only delays processing). Those two should not be dropped at the same rate. Without priorities, the system protects itself by dropping requests evenly: it stays up, but it throws away important and unimportant work at the same rate, so it survives while still failing at what matters most.
The pattern needs three things to work:
- Accurate priority tags on every request, applied the same way across the whole system.
- A shedding mechanism that drops by tier, instead of rejecting requests at random.
- The discipline to keep those tags honest as the system grows.
That third one is the hardest to keep up. Once people see their own jobs getting dropped first, it is tempting to relabel them as 'user-facing' - and if nobody checks, the priorities slowly stop meaning anything.
The pattern is most valuable in mixed systems, where important traffic and lower-priority traffic (work that can wait or be retried) share the same infrastructure. It is less useful in two cases:
- When all traffic matters equally, so plain, even shedding already does the right thing.
- When each class already has its own reserved capacity, so that separation enforces priority and nothing needs to be shed by tier.
When it applies
Tradeoffs
The same move, 7 ways
Every row is a production system that bet on this pattern — the note says how, in that system's own terms.
Often used together
Patterns sharing breakdowns with this one — derived from co-occurrence, threshold ≥2 shared.
Problems this pattern answers
The walls where its breakdowns live — each opens the cross-company comparison.