[erlang-questions] high availablity the erlang way
Thu May 24 18:00:49 CEST 2007
Hey, I'm just learning Erlang, and have a basic question about high
I'm wondering what the "Erlang way" for providing a highly available
service is. By this I mean Erlang node providing service A wants to talk
to a set of (N > 2, identical) Erlang nodes providing service B. Any node
providing service B might be taken down for maintenance or removed
entirely and new nodes providing service B might be introduced for
I've seen parts of the OTP that ensure that 1 copy of an application is
running somewhere on a set of nodes, but I found anything that directly
address the above.
I could have A talk to B via UDP and use a load balancer, but that does
not feel very Erlang-y.
I do see how combining primitives such as nodeup/nodedown messages,
locally registered process names, whereis, etc. I could assemble and
maintain a list of providers of service B on each A node, and then
load balance between the providers. Since I don't see anything that
does this already I think 1) i'm missing it, or 2) something about
Erlang makes this entire line of reasoning moot.
Thanks in advance, Erlang high school football rulz, etc.
More information about the erlang-questions