[erlang-questions] Hot standby?
Thu Feb 12 09:25:45 CET 2009
Yes, but the nature of hot standby, IMHO, is such that it requires
from the application.
Mnesia is hot standby, and there's a benchmark program included with mnesia
that handles subscriber database information in a cluster configuration.
The global name server, global, is fully replicated. The pg2 module can also be
used to implement hot standby.
Outside of OTP, gen_leader (http://www.cs.chalmers.se/~hanssv/leader_election/)
is specifically a behaviour for hot standby.
You can even use the application controller, by creating a sentinel app which
triggers the hot standby logic when moved. The AXD 301 did something along
these lines, where a 'standby' application would trigger stable-state
If the primary died, it would wake up next to the standby application, and could
recover quickly, since all the necessary data had been prepared.
Let's call this "warm standby". ;-)
Basically, there are ways to make sure that the data is replicated to
Depending on your time constraints for recovery, you can turn up the heat
using various techniques.
One thing to consider is that some of the local recovery mechanisms, such as
restart escalation in the supervision tree, and the net tick logic for
Erlang, can sometimes be at odds with hot standby. While it's
relatively easy to
make the actual switchover fast, it can be challenging to speed up the time
to error discovery. This is of course application-dependent.
2009/2/12 Imre Palik <imre@REDACTED>:
> I am currently reading the Design Principles document, and as far as I understand, what it calls as distributed application is effectively a cold redundancy scheme. Does erlang provide any tools to run e.g., two nodes in a hot standby failover configuration?
> erlang-questions mailing list
More information about the erlang-questions