This software provides load balancing and failover capabilities for services based on TCP protocols. It ensures efficient distribution of traffic and seamless switchover in case of a service failure.
The utility is service-independent, meaning that it can be used for HTTP(S), SSH, SMTP, DNS, and many other services. Crossroads is designed to accept TCP connections at preconfigured ports and, using a list of 'back ends,' distribute incoming connections to ensure that a client process is served. Moreover, the utility maintains an internal administration of back end connectivity such that client requests are redirected to alternate backends if any of them become unusable. It also periodically checks if an unusable back end has been restored.
The software can select back ends by estimating the load, which ensures that balancing is achieved. Crossroads serves as a load balancer and failover utility, thus augmenting service reliability. However, it may not be as reliable as hardware-based balancers since it requires a server to run on. The server may become a new Single Point of Failure (SPOS). Nevertheless, Crossroads can be a cost-effective solution in cases where cost efficiency is an issue.
Crossroads can also be deployed in situations where a hardware-based balancing already exists, and service reliability needs augmentation. Additionally, it may be run off a diskless system, which ultimately improves the reliability of the underlying hardware.
The software comes with an extensive usage guide that explains how to use Crossroads and how to configure it to increase system reliability. It describes how to compile the program from its sources and is also available in PDF format. To use Crossroads, you simply start it from the command line with /etc/crossroads.conf, the default configuration file.
Crossroads supports numerous flags that can be used to overrule the location of the configuration file, among other things. By typing "crossroads" without any arguments, you can obtain the relevant usage information, including the allowed arguments.
The utility is typically started from system startup scripts using the "crossroads start" or "crossroads stop" commands. The "crossroad status" command reports on each running service and the state of each back end. Crossroads also provides a way of telling the utility to take a specific back end offline for servicing using the "crossroads tell service backend state" command. The "crossroads services" command lists the configured services and only shows what's configured - not what's up and running. Finally, the "crossroads sampleconf" command shows a sample configuration on the screen, which is an excellent way of viewing the configuration file syntax or getting a start for your configuration.
Version 2.58 / 2.59: N/A