Resilient by Design
summary
Argues for building resilience from day one and gives concrete fixes: limit HTTP timeouts (Ruby defaults to 60s, connection pool wait is 5s), bound worker memory and use monit restart threshold to kill leaking processes (symbols pre-Ruby 2.2 cause leaks), replace invisible OS buffers with bounded queues, add circuit breakers and fallbacks (recommend Hystrix for JRuby, MRI has a gem), use bulkheads and fail-fast + retry queues to avoid cascading failures, and uses Little’s law numbers (100 req/min, 15/srv, 20 srv → ~37 min wait) to size capacity.
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








