~/talk

An adventure in distributed programming

Talkat ElixirConf EU 2019 · 2019-04-08..04-09· [distributed-systems]
slides:none on file

A seamless chat service called Planga runs on Elixir and starts on one node using Mnesia but faces scaling limits; the team moves to multiple application nodes and a separate Riak cluster to get eventual consistency with Riak with CRDTs, builds an Ecto adapter for Riak, and uses Elixir/OTP primitives plus Phoenix Channels and Phoenix Presence for ephemeral state. Production runs single-node today; multi-node app cluster plus dedicated DB nodes roll out soon. Lesson: separate app and data clusters, pick AP tradeoffs, handle conflict reconciliation.

AI-written summary · about

  1. 0:00Intro
  2. 0:15About me
  3. 1:15Project overview
  4. 2:32Elixir
  5. 5:42Agenda
  6. 6:24What is distributed programming
  7. 7:07fallacies of distributed programming
  8. 7:46free lunch
  9. 8:13two generals
  10. 8:47three ways
  11. 9:12risk uncoordinated attack
  12. 9:30cap theorem
  13. 10:10consistency availability
  14. 12:36consistency systems
  15. 13:20data types
  16. 14:03last wins
  17. 14:56Scaling
  18. 15:36Tools
  19. 18:33Lessons
  20. 20:12Database Types
  21. 22:11Cassandra
  22. 23:10CouchDB
  23. 24:49React
  24. 26:41Elixir Adapter
  25. 27:30Snowflakes
  26. 28:54Planning application
  27. 29:24Future plans
  28. 32:48Questions
~/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.