Architectural Patterns of Resilient Distributed Systems
summary
Argues that resilience is a design and operational claim not a buzzword: favoring harvest and yield changes tradeoffs; Netflix reduces API outages with client libraries and aggressive timeouts (30 dependencies once implied ~2 hours downtime per month); Google’s Chubby succeeds by restricting operations and providing a service rather than a library; Fastly prototypes evolve (powder hon moves V1→V3 and adopts multicast for very fast purges) and an edge system called fail d MAC swap implements host failover via ECMP and works in production.
AI-written summary · about
chapters (8)
- 0:00Architectural Patterns of Resilient Distributed Systems
- 4:07Resilience is the ability of a system to adapt or keep working when challenges occur
- 8:34Decomposing into subsystems independently intolerant to harvest degradation but the application can continue if they fail You can only provide strong consistency for the subsystems that need it Orthogonal mechanisms (stote vs functionality)
- 13:12Insights from Cook's model Engineering resilience requires a model of safety based on: mentoring, responding, adapting, and learning System safety is about what can happen, where the operating point actually is, and what we do under pressure Resilience is operator community focused
- 19:08Thinking about building system resilience using a single discipline is insufficient. We need different strategies.
- 26:29Evolution of our purging system from vi to v3 Used Bimodal Multicast (Gossip protocol) to provide extremely fast purging speed Desian concerns & system evolution
- 28:28Faild allows us to fail & recover hosts via MAC- swapping and ECMP on switches Do immediate or gradual host failure & recovery Watch Joao's talk SREcon15
- 34:25Resiliency and testing are correlated. TEST! Versioning from the start - provide an upgrade path from day 1 Upgrades & evolvability of systems is still tricky. Mixed-mode operations need to be common Re-examine the way we prototype systems fastly
related talks
50mSurviving Scale: Patterns for Evolving Failure-Resilient Microservices
42mReactive Design Patterns
58mResilient by Design
40mLet it fail: resilience patterns for microservices
25mDesigning and Testing Resilient APIs for India Scale
51mDesigning for Failure: Build Resilient Services
56mThe Definition Of Insanity
01h 03mArchitectural patterns for the cloud
