Responsive
Rapid and consistent response times
“The system responds in a timely manner if at all possible.” – Reactive Manifesto
When to use
User-facing applications.
Why it matters
- Usability: Responsiveness is the cornerstone of usability.
- Confidence: Consistency builds user confidence.
Signs of Violation
- Spinners that last forever.
- UI freezing while processing data.
Explanation
Problem
Blocking I/O or heavy computation freezes the system, making it unresponsive.
Solution
Non-blocking architecture. Set upper bounds on response times. Fail fast if you can’t reply in time.
Real world analogy
A waiter who nods immediately when you call them, even if they just say “I’ll be with you in a minute”. A waiter who ignores you until they are free is “Unresponsive”.
Pros and Cons
| Pros | Cons |
|---|---|
Comparison
- Latency vs Throughput: Responsive focuses on Latency (Time to first byte).
Code example
Typescript
Bad (Violation)
Good (Adherence)
PHP
Bad (Violation)
Good (Adherence)