5 ms·
While 5M concurrent chat users is definitly a massive feat, it seems to me that it's kinda this tech (Erlang) very sweet spot and not being able to do so would
by sametmax 8y ago
While 5M concurrent chat users is definitly a massive feat, it seems to me that it's kinda this tech (Erlang) very sweet spot and not being able to do so would have been disapointing. Or am I missing something ?
- HelloFellowDevs 8y agoThey are attempting to expand to being a springboard for games and apps within their app. Sort of like Steam, but since you're already chatting with friends why not start up a game of League?
- sametmax 8y agoNo I mean Erlang.
- cthalupa 8y agoSure. This is basically the exact sort of problem Erlang is designed to solve. But it's still cool to see it done, and a lot of people are unfamiliar with Erlang or Elixir, so the discussion is interesting.
- pdimitar 8y agoMy takeaway is that Erlang/Elixir aren't designed to squeeze that much performance with that setup and that the Discord team went out of their way to optimize hot-spots to make it possible. Erlang/Elixir are still quite impressive out of the box, even without these Discord-specific optimizations. But they probably wouldn't scale to 5M right away.
- sametmax 8y agoNothing does, 5 millions __concurrent__ user creating and sending new data in real time is huge. Not to mention video and sound.
- pdimitar 8y agoYes. In my eyes the win here isn't concurrent performance that cannot get beaten by anything else; I am pretty sure a carefully crafted Golang or Rust stack can beat Elixir any day. But they won't have the fault tolerance guarantees of the BEAM VM. The real win IMO is the good reliability:performance ratio that Discord achieved. I feel Erlang/Elixir are excellent in optimizing this exact metric.
- bpicolo 8y agoGolang and Rust also don’t give you a direct path to distributed actors.
- hinkley 8y agoHow often do we lament people using the wrong tools for the job? I think it’s probably healthier to cheer the people doing it right than to keep shaming everyone else.