[erlang-questions] high availablity the erlang way
Paul Mineiro
paul-trapexit@REDACTED
Thu May 24 18:00:49 CEST 2007
Hey, I'm just learning Erlang, and have a basic question about high
availability.
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
scaling purposes.
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.
-- p
More information about the erlang-questions
mailing list