Erlang distribution
Backs Act 1: what actually happens when two BEAM nodes connect.
Questions to answer
Section titled “Questions to answer”- What does EPMD store, what port does it listen on, and what does a node ask it?
- The handshake step by step: name exchange, challenge, cookie digest. Which version of the handshake does current OTP use?
- What runs over the connection once it is up — the control message types behind
send,link,monitor,spawn. - Heartbeats:
net_ticktime, and how long a dead node goes unnoticed by default. - Full mesh: why connecting to one node connects you to all of them, and what that costs as the cluster grows.
- What replaces EPMD when you don’t want it (
-start_epmd false,-erl_epmd_port, customepmd_module).
Where the evidence lives
Section titled “Where the evidence lives”- OTP source:
otp/lib/kernel/src/net_kernel.erl,otp/lib/kernel/src/dist_util.erl,otp/erts/epmd/src/. Pin the OTP tag when citing lines. - The wire capture in Experiments.
- The Erlang distribution protocol docs — add to Sources when read.