Frameworks Unplugged: Building Distributed Systems in Pure...
summary
Builds a tiny Java cluster from scratch: an HTTP front end, sockets between peers, a ConcurrentHashMap for storage and multicast or cloud metadata for discovery, then implements serialization alternatives (Java serialization vs protobuf) and concurrency control using vector clocks to detect concurrent updates and CRDTs for automatic merges, falling back to last-write-wins when needed. Chooses a leaderless all‑to‑all topology and eventual consistency, shows what breaks (clock drift, split brain, missing leader) and concludes the toy implementation works for exploration but isn’t production-ready.
AI-written summary · about
chapters (16)
- 0:00Introduction and context
- 2:01Purpose of the talk
- 3:30What is a distributed system
- 6:26Network communication basics
- 8:14Cluster discovery methods
- 11:28Cluster topology choices
- 13:11Distributing data across nodes
- 14:34Serialization challenges
- 18:28Handling concurrent updates
- 24:05Strong vs eventual consistency
- 27:36Concurrency control approaches
- 32:22Logical clocks and versions
- 35:38Vector clocks explained
- 37:48Conflict-free data types
- 42:53Should you build your own system
- 45:25Trade-offs and alternatives
related talks
01h 00mFantastic Frameworks and How to Avoid Them
01h 02mTools for simplified large scale systems
46mFrom Chaos to Cohesion: Building Modular Monoliths in the Real World
01h 17mWhen Less Is More: Designing & Decoding Complex Distributed Systems
47mArchitecture Foundations: Styles & Patterns
40mAdd Simplicity to Complex Systems
25mAvoiding Overload in Distributed Systems
33mFrom Enterprise Architecture to Software Design - Critical Thinking
