Projects / Crossroads Load Balancer

Crossroads Load Balancer

Crossroads is a daemon running in user space, and features extensive configurability, polling of back ends using wake up calls, status reporting, many algorithms to select the "right" back end for a request (and user-defined algorithms for very special cases), and much more. Crossroads is service-independent: it is usable for any TCP service, such as HTTP(S), SSH, SMTP, RDP, and database connections. 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. Crossroads can be run as a stand-alone daemon or via inetd, and features a management Web interface for monitoring and for modification of parameters.

Tags Networking Clustering/Distributed Networks
Licenses GPLv3
Operating Systems POSIX
Implementation Perl C++

Tweet this project Short link

Rss Recent releases

  • Rrelease-mid
  •  13 May 2009 12:28
  • Rrelease-after

    Changes: This version fixes a number of bugs, features a rewrite of the "stored-ip" dispatcher, introduces counting of back end errors for diagnostic purposes, and features updated documentation.

    • Rrelease-mid
    •  12 Feb 2009 14:32
    • Rrelease-after

    Changes: This version introduces the ability to rewrite Host: headers in HTTP mode with the hostname of a back end to which Crossroads is dispatching. The Activity overview of the Web interface now shows the number of used file descriptors and the maximum limit. A number of bugs were fixed and code parts were slightly reworked.

    • Rrelease-mid
    •  05 Jan 2009 14:06
    • Rrelease-after

    Changes: This version fixes some smaller bugs or omissions, and further improves the management Web interface.

    • Rrelease-mid
    •  12 Nov 2008 18:05
    • Rrelease-after

    Changes: The balancer control script xrctl was rewritten to use an XML configuration file describing all services. The management Web interface is much richer, allowing modification of more properties of the balancer and allowing addition or deletion of back ends. DOS protection was extended to delay or block client IP addresses that exceed a connection threshold. Resolved back end host names are cached to ease the load on DNS. Back end verification supports HTTP GET or TCP connects to ports other than the back end itself. Portability issues for gcc 3.4, Solaris, and 64-bit systems were solved.

    • Rrelease-mid
    •  03 Nov 2008 16:47
    • Rrelease-after

    Changes: This is a stable release. New features include DOS protection capabilities, bugfixes, a "weighted-load" dispatching mode, a richer management Web interface, and a rewritten, optimized HTTP dispatcher which runs 40-50% faster.

    C2c4629f6145c5c0fc4dc8e79ccb46fa_thumb

    Project Spotlight

    The Procrastinator's Timeclock

    A simple tool for managing the urge to do "just one more thing".

    No-screenshot

    Project Spotlight

    rsync

    A file transfer program to keep remote files in sync.