Strange Loop

Riot Messaging Service - Message Players Like a Pro

Imagine that you would like your game service to message a specific player about an important change, for instance that she's been invited to the best club in the game! Now, let's extend this vision to hundreds of services that would like to stay in touch with that player as she joins the club and sends messages to others. And let's take one more step and jump from a single client to over a hundred million. Still with me?

Riot Games' League of Legends handles millions of online players at any given time, and the Riot Messaging Service was built to allow backend services to reliably message players in real time, at scale.

In this talk, I'll start with a discussion about state changes and the importance of stateful services. Then I'll move on to the architecture of the Riot Messaging Service that enables linear scalability and high fault tolerance. Last but not least, I'll focus on a slice of our journey from drawing board to production servers that can support 10 million player connections on a single box.

Michal Ptaszek

Michal Ptaszek

Riot Games

Michal Ptaszek is a software architect working at Riot Games. He specializes in designing, implementing, and supporting highly concurrent, large-scale, fault-tolerant distributed systems. He holds a masters degree in Computer Science, is obsessed with Instant Messaging, and fell in love with Erlang at first sight. He's also a huge fan of chess, Bordeaux wine, cats, jazz, and crossfit.