Universal Highload Patterns: A Game Server Example in Haskell
summary
A Haskell-based game server implementation uses Software Transactional Memory (STM) and the actor model to encode transactional logic in code, replaces full cache flushes with dependency-graph cache invalidation, and shifts parallel tasks into work queues. Measured outcomes include a 2× latency reduction in a shooter hotspot, fewer GC tail pauses via per-connection heaps, and practical engineering decisions on image resizing, deduplication, and when to use Cassandra or simple caches versus custom composed solutions.
AI-written summary · about
chapters (12)
- 0:00Start
- 3:03Technology Selection
- 5:10Mutable Data Space
- 7:33Architectural Patterns
- 10:22Complexity Horizon
- 13:18Basic Tools - Once Cutting-Edge Solutions
- 14:35Cache - From Simple to Complex
- 22:01Communication - Interfaces, Protocols, and Bus
- 31:51Memory
- 37:26Queues
- 42:45Resiliency
- 44:37Flexibility of Thinking
related talks
48mHaxl A Big Hammer for Concurrency
18mA better way of doing Async Rust
15mTowards Safe HPC: Productivity and Performance via Rust Interfaces for a Distribu...
55mSG14 (the GameDev & low latency ISO C++ working group)
35mBuilding Actor Systems in Rust
56mThe Tale of Troy
56mThe RUST Language for High‑Load Network Services — Quick Start
23mTips for Writing a Web Server and Beyond
