[erlang-questions] Fault-Tolerant TCP/IP Servers
Wed Jul 16 17:27:22 CEST 2008
David Mercer escribió:
> Say I have a TCP/IP server (e.g., a web server, FTP server, etc.)
> written in Erlang, and I want it to work through hardware failures; I
> need at least two of them. The problem is, clients are connecting to
> the primary’s IP address, so when it fails, client connections are
> refused instead of being rerouted to the secondary. What is the Erlang
> approach to solving this?
> My thought is that you have the secondary detect the failure and send
> the appropriate commands to the network to redirect traffic for the
> primary server’s IP address to the secondary. That’s my idea, but I
> don’t really know if this is the appropriate solution, nor how to
> implement something like this in Erlang.
i think you want something like CARP-PFSync from OpenBSD. The problem is
that CARP is only to have a shared IP, it does nothing with TCP
connections running in the box.
OpenBSD pfsync is also a kernel system, and is aware of CARP, that's way
it can detect when a CARP master is down, and also is in the kernel
managing TCP and firewal connections, so it can do failover on TCP.
I don't know if there is some kernel notification of changes in CARP
configuration to userspace program... if there is one, you could build a
failover erlang server around that. (i think there is one:
excuse my english
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
More information about the erlang-questions