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

Reasonable Concurrency with Actors and Elixir

Reasonable Concurrency with Actors and Elixir

Chris Keathley

October 02, 2015

More Decks by Chris Keathley

Other Decks in Technology


  1. #1

  2. “concurrent processes with no data sharing provide a strong measure

    of fault isolation. A software error in a concurrent process should not influence processing in the other processes in the system.” - Joe Armstrong
  3. “As soon as two processes share any common resource…the possibility

    exists that a software error in one of the processes will corrupt the shared resource. Since eliminating all such software errors for large software systems is an unsolved problem I think that the only realistic way to build large reliable systems is by partitioning the system into independent parallel processes, and by providing mechanisms for monitoring and restarting these processes” - Joe Armstrong
  4. OTP

  5. #2

  6. Failures are latent “The complexity of these systems makes it

    impossible for them to run without multiple flaws being present"
  7. Failures are latent “The high consequences of failure lead over

    time to the construction of multiple layers of defense against failure…The effect of these measures is to provide a series of shields that normally divert operations away from accidents”