HLDArena
HLD-127·Caching & Edge
Easy · 500 pts

E-Commerce Promo Code & Eligibility Rule Validator

Design a checkout promo-code eligibility service validating campaign rules, minimum cart thresholds, and merchant promo metadata during seasonal sales.

Max p99
≤ 38 ms
Availability
≥ 99.5%
Budget
≤ $2,500

Functional Requirements

  • FR-1GET /promos/{promo_code}/validate — Evaluates campaign dates, cart eligibility, and discount rules.
  • FR-2POST /promos — Publishes or pauses merchant promotional codes and logs redemptions.
  • FR-3PATCH & DELETE /promos/{promo_code}/validate — Updates, revokes, or deletes promo_code entries with bounded TTL or explicit cache/index invalidation.
  • FR-4Must sustain sub-40ms p99 cart checks during influencer promo drops and DB node failure.

Workload Profile

Baseline Cart Checks20,000 Read RPS / 1,800 Redemption Write RPS
Influencer Code Drop58,000 Read RPS / 5,000 Write RPS
Active Working Set8 GB active promo campaigns & eligibility rules
Traffic DistributionExtreme hot-key skew on viral promo_code strings

Consistency Model

Eventual campaign pause propagation (< 3s) for unlimited-use sitewide promo codes.

Design Write-up
0 boxes · 0 edges
0 words
Hidden Cases #4–#7 run automatically on Submit
Case 1: Smoke & API ContractInput Workload
Read RPS
2,000 rps
Write RPS
180 rps
Key Distribution
Uniform (Low Skew)
Chaos Fault
None (Healthy Cluster)
Expected Pass CriteriaASSERTIONS
• Tail Latency: p99 ≤ 76 ms
• Availability: ≥ 99.5%
Valid end-to-end Client → Compute → Storage topology