[erlang-questions] Fault-Tolerant TCP/IP Servers

David Terrell <>
Wed Jul 16 19:43:54 CEST 2008


If you control (or can test) the client application, see if you can 
simply point your DNS to multiple addresses (sometimes called round 
robin DNS).  This puts the retry all server logic in the client app, but 
it doesn't require extra mechanics like firewall/sync.

If it doesn't properly try all addresses in the DNS, then I second the 
recommendation to use OpenBSD CARP+PFSync.

Holger Hoffstaette wrote:
> On Wed, 16 Jul 2008 09:17:20 -0500, David Mercer wrote:
> 
>> I must admit, I am disappointed that there is no Erlang solution.  This
> 
> This has really nothing to do with Erlang or any other language; it is
> just  plain a problem with how client-side network addressing works in
> TCP. As  long as the physical server host/port is exposed directly, you
> either need fault-tolerant clients with backup addresses and migration
> logic built in etc. (this is btw. much more difficult than it sounds), or
> an intermediary between client and server. One for Linux is e.g. HAProxy
> (http://haproxy.1wt.eu/) though there are others, both free and
> commercial, with different advantages and disadvantes.
> 
>> seems like a basic building block to fault-tolerant systems.  So, I am
> 
> It is, but the problem can be attacked on the application level or as an
> infrastructure concern, and both approaches can lead to very different
> solutions (like Rick R's suggestion to use SCTP instead of TCP).
> 
> Holger
> 
> 
> _______________________________________________
> erlang-questions mailing list
> 
> http://www.erlang.org/mailman/listinfo/erlang-questions
> 




More information about the erlang-questions mailing list