Crossroads is an open source load balance and fail over utility for TCP based
services. It is a daemon running in user space, and features extensive
configurability, polling of back ends using 'wakeup calls', detailed status
reporting, 'hooks' for special actions when backend calls fail, and much more.
Crossroads is service-independent: it is usable for HTTP(S), SSH, SMTP, DNS,
etc.. In the case of HTTP balancing, Crossroads can provide 'session
stickiness' for back end processes that need sessions, but aren't session-aware
of other back ends.