Locker: Consistent Distributed Locking
Game servers built at Wooga uses Erlang processes to model users, worlds and connections. A locking mechanism was needed to ensure processes don’t step on each other toes. This forms the backbone of distributed real-time multiplayer game servers at Wooga.
The first attempt used Redis as a central serialization point as
it offers a compare-and-swap operation. After hard work in the
following generations of game servers, this single point of failure was the last one still standing.
After long discussions and reading many papers, locker got
started as a Friday hack. How hard could it be to create a consistent distributed locking system from scratch?
Talk objectives: Share the journey from Friday hack to real production software.
Target audience: Engineers interested in available systems, distributed systems, Riak, Zookeeper.
Knut Nesheim Software Engineer @ Unity
Knut Nesheim is the first developer in a cool new project at Unity. Unity makes the famous Unity 3D engine and has over 300 000 active developers. Previously he wrote multiplayer game servers at Wooga and helped many teams in adopting Erlang. When he's not busy chasing down race conditions in distributed systems, he can be found on a road bike somewhere in the forest outside Berlin.