Scalable distributed systems from grounds up in Elixir
summary
A live game engine called Inside It Out runs in production as a mostly-MVP and demonstrates concrete choices: using the BEAM process model with GenServer + supervisors, a demo TCP listener (production uses MQTT), and cluster membership via libcluster. Three architectures are compared — single process, per-player worker, and a sharded N-to-M worker farm inspired by a blog post claiming scale to 5 million concurrent users — and practical lessons like island architecture for cross-node serialization and when each approach actually works appear.
AI-written summary · about
chapters (16)
- 0:00Start
- 2:35distributed out of the box
- 3:42prinitives for concurrency
- 4:09Bjorn's erlang abstract machine
- 4:40light weight - green thread
- 5:55process control board
- 6:36garbage collection
- 7:57schedulers
- 10:18nonane
- 11:43reliability
- 12:24generic server
- 17:18restricted chat?
- 20:08one process for every player
- 23:32supervision
- 23:49differentiate processes
- 24:47distributed processes
related talks
15mMicroservices with Elixir
47mShipping a Replacement Architecture in Elixir
35mGoing fullstack React(ive)
40mExtending Redux in the Server Side
23mBuilding Distributed Systems with Node.js
27mScaling a Rails Monolith w/Event Driven Microservices
35mConcurrent and Resilient Connections to Outside the BEAM
40mDeploying node.js at scale
