EMx 059: Using Rust to Scale Elixir for 11 Million Concurrent Users with Matt Nowack
Matt Nowack, a developer at Discord, gives an intro to Discord and shares its origin story. The panel discusses the problems that Discord was having because of its 11 million concurrent users. Matt talks about when they knew there was a problem, how they used a runtime VM to find the problem, the tools they tried to fix the problem and how they landed on NIFs to fix the problem.
Special Guests:
Matt Nowack
Show Notes
Sponsors
Panel
- Mark Ericksen
- Josh Adams
- Michael Ries
- Eric Oestrich
Joined by Special Guests: Matt Nowack
Summary
Matt Nowack, a developer at Discord, gives an intro to Discord and shares its origin story. The panel discusses the problems that Discord was having because of its 11 million concurrent users. Matt talks about when they knew there was a problem, how they used a runtime VM to find the problem, the tools they tried to fix the problem and how they landed on NIFs to fix the problem. The panel discusses the risks of using NIFs and how using Rust helps negate that risk. Matt discusses the reference counter in the rustler package and answers questions about using dirty schedulers. Discord developers publish many blogs and publish many open source projects; Matt shares the Discord philosophy on open sourcing and contributing to the Elixir community.
Links
- https://github.com/discordapp/sorted_set_nif
- https://github.com/rusterlium/rustler
- Matthew Nowack - ZenMonitor: Scaling Distributed Monitoring at Discord | Code BEAM SF 19
- https://en.wikipedia.org/wiki/Fates_Forever
- http://erlang.org/doc/tutorial/nif.html
- https://www.rust-lang.org/
- https://blog.discordapp.com/using-rust-to-scale-elixir-for-11-million-concurrent-users-c6f19fc029d3
- https://github.com/discordapp/sorted_set_nif
- https://www.erlang-solutions.com/blog/a-guide-to-tracing-in-elixir.html
- https://github.com/ferd/recon
- https://discordapp.com/jobs
- https://elixir-lang.org/blog/2019/06/24/elixir-v1-9-0-released/
- https://github.com/ihumanable
- https://twitter.com/ihumanable
- https://www.facebook.com/Elixir-Mix
- https://twitter.com/elixir_mix
Picks
Mark Ericksen:
- https://www.nps.gov/grca/planyourvisit/havasupai.htm
- https://waterfallsofthegrandcanyon.com/havasu-falls/havasupai-waterfalls/
Josh Adams:
Michael Ries:
Eric Oestrich:
Matt Nowack:
- http://discord.gg/elixir
- https://www.destroyallsoftware.com/talks/boundaries
- https://en.wikipedia.org/wiki/Halt_and_Catch_Fire_(TV_series)
Special Guest: Matt Nowack.
EMx 059: Using Rust to Scale Elixir for 11 Million Concurrent Users with Matt Nowack
0:00
Playback Speed: