Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Crash Only Software

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

Crash Only Software

Avatar for Antoine Grondin

Antoine Grondin

April 28, 2016
Tweet

Other Decks in Programming

Transcript

  1. request have deadline request have is_idempotent flag servers try to

    process or crash clients retry until deadline crash-only communication
  2. Need to convert millions of images when we change format.

    (say qcow to raw) real-story - requirements
  3. at-least-once delivery If an image converted >1 time, we don’t

    really care. Waste some time, better than losing customer image. real-story - design
  4. Step 1: make a lease Step 2: refresh lease while

    working Step 3: delete job+lease once done real-story - design
  5. Step 1: make a lease Step 2: refresh lease while

    working Step 3: delete job+lease once done real-story - design
  6. Step 1: make a lease Step 2: refresh lease while

    working Step 3: delete job+lease once done real-story - design
  7. tell operator to let it go … the process manager

    restarts components real-story - outcome
  8. tell operator to let it go … if issues, system

    converges toward progress real-story - outcome
  9. References Recursive Restartability Candea & Fox, 2001 Crash-Only software Candea

    & Fox, 2003 Crash-Only software, More than meets the eye LWN.net, https://lwn.net/Articles/191059/ A Crash Course In Failure NPlus1.org, http://web.archive.org/web/20090430014122/http://nplus1.org/articles/a-crash- course-in-failure/