~/talk

Trustworthy Graceful Degradation: Fault Tolerance across Service Boundaries

Talkat SREcon21 · 2021-10-12..10-14· [distributed-systems, testing]
links:none on file
slides:none on file

Third of Australian students use the service, with tens of thousands online simultaneously, and a default 30 second timeout once makes the app feel totally down. Deploys run Selenium smoke tests and blue‑green rollouts; unit tests in CI spin up a real MySQL to force “too many connections” and validate reconnection logic, and the Redis client includes stampeding‑herd protection. A header-based request cursing system (e.g. X‑Style‑Curse‑Mongo‑Requests) simulates downstream failures per request so CI and production can verify graceful degradation.

AI-written summary · about

  1. 0:00Intro
  2. 1:22A Highly Available Web Service Simple, elegant, effective
  3. 3:20Postmortems and Action Items to the rescue! Establish the root cause.
  4. 6:29Failing gracefully: Understand all of the possible error modes
  5. 8:01Failing gracefully: ...and fail helpfully where you can't
  6. 10:26Failing gracefully: First do no harm Don't make it worse by retrying reconnecting and restarting
  7. 12:50When fixing the problem isn't enough Many of you are thinking: Chaos engineering can help here!
  8. 13:27Unit test your service clients
  9. 15:01Integration test your minimum viable system
  10. 16:44Chaos Testing If you think you don't need a service, try shutting it down. In prod. Right now
  11. 17:063. Chaos Testing: Limitations
  12. 17:45Advanced Technique: Request 'Cursing' How to get the benefits of chaos testing optional dependencies without actually degrading the experience for your users.
  13. 18:244. Request Cursing: The Result
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.