Elixir clustering with DNS SRV records
NamedSupervisedServer is a start_link/1 + GenServer behaviour that is named as __MODULE__ by default or you can supply different name.
Nbpm is a custom EPMD module that maps Erlang node names to network ports.
SupervisedServer is a start_link/1 + GenServer behaviour.