How Discord Scaled Elixir to 5,000,000 Concurrent Users

Discord tuned its Elixir guild processes and fan-out paths, building custom libraries to push events to millions of concurrent users.

Published
2017-07-06
Scale
5,000,000 concurrent users
Techniques
fan-out concurrency load shedding
Stack
Elixir Erlang/BEAM

Try this stack yourself

  • Railway · Deploy something like this on Railway: spin up Elixir plus your app in a few clicks. New accounts get $20 in credit (applied when you pick a paid plan).
    Railway isn't part of Discord's setup in this story. It's just an easy place to try the same building blocks.
  • Better Stack · Monitor uptime and logs with Better Stack, and get alerted fast if a migration or traffic spike goes sideways on your own system.
    Better Stack isn't part of Discord's setup in this story. It's a tool for watching your own systems while you try ideas like these.

Some links above are affiliate links: if you sign up, How They Scaled may earn a commission at no extra cost to you. We only list tools that fit the stack in the story.

See also

The best scaling write-ups, weekly

One email a week. No spam.

Subscribe