markusgod
Spreading out genservers on hosts of different flavour
I was reading Discord’s engineering write-ups, and while the fanout of Sessions and Guilds seems straightforward at a high level, I am now curious about some details. Since they are running BEAM VM instances and using a Guild process as a stateful container for server information, what happens if a Guild process crashes? What if a node holding multiple Guild processes crashes? Did they also write a Kubernetes-like process manager for BEAM that will spread out Guilds across the cluster? Are there any Elixir/Erlang/OPT built-in constructs for such tasks? I’m sorry if it sounds too much about Discord, this is just the closest point of reference for my right now, but I want to understand if app is fully conformant to such actor model, how orchestration should be built.
Most Liked
cmo
You can have a backup running in another location that monitors a process and takes over when it crashes.
This is a good watch: https://m.youtube.com/watch?v=pQ0CvjAJXz4








