Resilient by Design
summary
Explains concrete resilience patterns and real fixes: use 60s default HTTP timeout and 5s DB connection-pool as examples of harmful defaults and enforce lower timeouts; mitigate memory leaks by monit restarting workers when a Unicorn worker’s memory grows over weeks; avoid blocking UDP/socket.send by using nonblocking I/O and bounded buffers; implement Hystrix for JRuby or a circuit-breaker gem to fail fast and protect downstream services; apply bulkheads, bounded queues with backpressure, and write specifications before code to reveal unhappy paths.
AI-written summary · about
chapters (15)
- 0:00Intro
- 0:50Why do we care
- 3:17Design from the start
- 7:56Bounding
- 13:03Circuit Breakers
- 17:37Queueing
- 21:28Queueing Theory
- 21:49C Servers
- 22:14Load Average
- 22:33Average Waiting
- 22:45Capacity Planning
- 22:55Bulkhead Pattern
- 25:30Specifications
- 26:56Happy Path Case
- 28:49References








