How Discord uses Elixir
Discord chose Elixir for its WebSocket gateway and real-time message delivery. Its engineers split the chat infrastructure into independently scalable services, while a separate Python API handled other parts of the product.
The team combined Distributed Erlang with service discovery to connect its nodes, and used Rustler to bring Rust data structures into Elixir. Elixir also handled voice and video signaling; the media streaming itself ran in C++.
Source
Read the engineering story. This profile describes the implementation discussed in that source.