[erlang-questions] Forming a cluster

Kenneth Lundin <>
Thu Oct 25 10:20:40 CEST 2007


I agree with Per.

I made the assumption that the hosts where dedicated for the clustered
application
and that no other Erlang nodes than the ones involved in the cluster should be
started on these hosts.

/Kenneth

On 10/25/07, Per Hedeland <> wrote:
> "Kenneth Lundin" <> wrote:
> >
> >By using
> >net_adm:names(Host)
> >or
> >net_adm:names()
> >
> >The newly started node can find out about other nodes already started.
> >Of course this requires knowledge of the possible Hosts which can
> >have running nodes.
>
> It could also be claimed that this is "abuse" of epmd. Unless you have a
> host/network dedicated to your application, you have no reason to assume
> that you should be talking to other nodes that happen to have registered
> with epmd on the hosts you're interested in - epmd's purpose in life is
> to map "alive-names" to TCP distribution ports of currently running
> nodes, nothing more.
>
> I would rather recommend using "standard" IP techniques - e.g. designate
> an "unused" UDP port as "point of contact" for your application. The
> existing nodes in the cluster agree (somehow) among themselves who
> should listen to that port on each host, and newly arriving nodes send a
> "I'm here and my name is ..." message to the port. By using UDP you can
> also use broadcast and/or (if you're lucky) multicast to find nodes on
> other hosts.
>
> --Per Hedeland
>



More information about the erlang-questions mailing list