Skip to content

Erlang distribution

Backs Act 1: what actually happens when two BEAM nodes connect.

  • 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, custom epmd_module).
  • 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.