$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Berlin 2013 - Session - Ryan Smith
Search
Monitorama
September 19, 2013
0
320
Berlin 2013 - Session - Ryan Smith
Monitorama
September 19, 2013
Tweet
Share
More Decks by Monitorama
See All by Monitorama
Monitorama PDX 2017 - Ian Bennett
monitorama
1
610
PDX 2017 - Pedro Andrade
monitorama
0
790
PDX 2017 - Roy Rapoport
monitorama
4
970
PDX 2017 - Julia Evans
monitorama
0
500
Berlin 2013 - Session - Brad Lhotsky
monitorama
5
740
Berlin 2013 - Session - Alex Petrov
monitorama
6
710
Berlin 2013 - Session - Jeff Weinstein
monitorama
2
650
Berlin 2013 - Session - Oliver Hankeln
monitorama
1
570
Berlin 2013 - Session - David Goodlad
monitorama
0
490
Featured
See All Featured
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
115
94k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
0
960
Designing for Performance
lara
610
69k
Designing Experiences People Love
moore
143
24k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Building an army of robots
kneath
306
46k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
680
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
65
35k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Typedesign – Prime Four
hannesfritz
42
2.9k
Transcript
Predictable Failure Building systems that fail in predictable ways.
Failure is the inability to handle failure.
Southern Airways Flight 242
None
What went wrong • Radar misguided pilots into the storm
• Pilots applied thrust to a stalling engine • Close landing field was not suggested
How will the system fail?
How will Redis fail?
None
British Airways Flight 009
What went wrong • All engines failed • St. Elmos
fire but nothing on the radar • Radio to tower was not 100% • 1st officers oxygen mask broke
What happens when the system fails
No Redundancy - Simple func Query(c Conn, query string) Result
{ return c.DoQuery(query) }
Redundancy - Complex func Query(conns []Conn, query string) Result {
ch := make(chan Result, len(conns)) for _, conn := range conns { go func(c Conn) { ch <- c.DoQuery(query): }(conn) } return <-ch }
Independence
Same function Different implementation
How many redundancies?
A component that just works
Dormant Failures
Don't wait until disaster strikes to find out that Your
secondary RDMS has a full disk
Propagation
Danke! @ryandotsmith