HLDArena
HLD-236·Messaging & Queues
Medium · 1,000 pts

Skill-Based Live Support Ticket & SLA Queue Router

Design a Zendesk / Intercom support routing engine matching incoming customer tickets to online agents by language/skill while tracking SLA breach timers.

Max p99
≤ 60 ms
Availability
≥ 99.5%
Budget
≤ $5,400

Functional Requirements

  • FR-1POST /tickets — Persists customer ticket, scores priority, and enqueues into skill queue.
  • FR-2GET /queues/{tenant_id}/next — Assigns highest-priority waiting ticket to available support agent.
  • FR-3PATCH & DELETE /tickets/{tenant_id} — Updates, cancels, or deletes tenant_id records and immediately invalidates or updates cached state (read-after-write).
  • FR-4Must handle airline-cancellation ticket floods and survive primary DB node crashes.

Workload Profile

Business Hours Load24,000 Agent Poll RPS / 5,000 Ticket Event RPS
Outage Support Surge68,000 Read RPS / 16,000 Ticket Write RPS
Active Working Set18 GB active open tickets & agent availability
Traffic DistributionTenant hotspot on enterprise tenant_id experiencing outage

Consistency Model

Read-after-write ticket state transitions so two agents do not see stale unassigned status.

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
400 rps
Key Distribution
Uniform (Low Skew)
Chaos Fault
None (Healthy Cluster)
Expected Pass CriteriaASSERTIONS
• Tail Latency: p99 ≤ 120 ms
• Availability: ≥ 99.5%
Valid end-to-end Client → Compute → Storage topology