[erlang-questions] How to send a message to all nodes without UDP broadcast?

Håkan Mattsson hakan@REDACTED
Thu Mar 18 11:11:16 CET 2010


On Thu, Mar 18, 2010 at 9:30 AM, Johan Montelius <johanmon@REDACTED> wrote:
>
> A word of warning and: rpc:abcast/1 is not atomic multicast as abcast
> normally refers to. It implements a basic multicast. If the sender dies you
> might have a situation where only some of the processes have received
> the message.

This is the normal case in Erlang. There are power outages, sending nodes
may crash, network connections may be closed, sending processes may be
brutally killed by their supervisors at shutdown etc. You do always need to be
prepared to recover from such cases. An truly ATOMIC multicast is a far
more advanced service than the rpc module provides.

> This also goes for the list comprehension solution and also for how the pg
> module is implemented. The pg modules does however give you a total
> order of message delivery something that rpc:abcast does not.

rpc:sbcast/2 is a little bit better than rpc:abcast/2 in this regard.

/Håkan


More information about the erlang-questions mailing list