Welcome to Crossroads
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.
As of version 2.00, Crossroads has undergone dramatic
changes. The program is no longer a "forking daemon", but
instead, a multi-threaded program that occupies only one memory
space. The performance is hence greatly increased when compared
to the Crossroads 1.xx series. The new Crossroads uses another
invocation syntax. If you are a user of the 1.xx series, please
read the documentation - your balancer setup is likely to
change. Older versions are however still available
(securely stored on our dedicated servers)
from the /downloads/versions/ page.
This site is the primary hosting site of Crossroads. Here you'll find
the most up to date documentation, the software itself, and you can
browse the current source base via an SVN browser.
Join the forum! If you're interested in Crossroads, if you
use it, if you want to know more... join the Crossroads forum at
http://xrforum.org. There are
sections on getting help, future versions, feature requests, and more!
The heaviest Crossroads user known to us is a websearch
company, who in January 2008 ran
over 5 million page hits per day via Crossroads. They were
requests for dynamic pages, load-balanced using Crossroads' HTTP
balancing. This is on average 60 Crossroads requests per second
flat rate, climbing to approx. 250 per second. The same Crossroads
instance also balanced 300-500 database connections that carried
approx. 50Gb of data.
The Linux box where Crossroads was running, was 50% idle.
The best throughput was achieved by Rene Kalff during
benchmarking. Crossroads, running on a dedicated 32bits Linux
box, 2.2Gb dual core with 2Gigs of RAM. Crossroads in HTTP mode
managed to dispatch 3.500 requests per second to 4 back ends.
It wouldn't go
higher because the testing client couldn't handle more.
Do you run Crossroads, and do you have similar usage data? Let us know, we're always
interested in how Crossroads is doing out there.
Witty quote of the moment...
From the list of Best Out Of Office Replies:
"I am currently out at a job interview and will reply
to you if I fail to get the position. Be prepared for
Do you like random fortune cookies?
Check out the cookie package at http://www.kubat.nl/pages/cookies!