At line 2 changed 2 lines |
CrushBalance is a software load balancer that can handle and distribute a high volume of traffic.\\ |
[attachments|crushbalance.png]\\ |
CrushBalance is a software load balancer that can handle and distribute a high volume of traffic. Its part of all Enterprise licenses.\\ |
Download here: [https://www.crushftp.com/early10/CrushBalance.zip]\\ |
At line 5 changed one line |
A key design aspect in CrushBalance is to use what is called 'New IO" where every connection does not require a new thread to be processed. Using threads has its benefits, especially for debugging scenarios, but it can't scale as well to handle load. CrushBalance uses this newer thread model for handling connections and routing them where they need to go.\\ |
City Database from GEOLite for your reference: [attachments|city.mmdb.zip] |
At line 7 added one line |
[attachments|crushbalance.png]\\ |
At line 8 changed 2 lines |
!Features\\ |
* Allow sticking sessions based on source IP.\\ |
!!Features |
* Allow sticking sessions based on source IP or simple round robin.\\ |
At line 12 added one line |
* Visual representation of where clients are connecting from by using MaxMind's city DB. [http://www.maxmind.com] [http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz]\\ |
At line 16 changed one line |
* Including in all CrushFTP 9 enterprise licenses.\\ |
* Included in all CrushFTP enterprise licenses.\\ |
* Simple and lightweight...7MB download, uses Java. Download and run.\\ |
At line 21 added 36 lines |
\\ |
!!Running / Launching CrushBalance [https://127.0.0.1:8090/] |
From a DOS prompt or Linux shell, type: |
{{{ |
java -jar CrushBalance.jar -d |
}}} |
Now you can point your web browser at "https://127.0.0.1:8090/" since the default port is 8090 using HTTPS.\\ |
\\ |
!!Configuring |
The top Server IP is meant to be a hostname or IP of your main server. This is used for the GeoIP lookup to learn where you are in relation to incoming connections. You must have the "city.mmdb" in your CrushBalance folder at startup for CrushBalance to do IP lookups for positioning on the map and for using the "Nearby" feature for redirecting users to the closest endpoint.\\ |
The Bind IP controls what IPs on the machine CrushBalance binds to, the default is 0.0.0.0 which is all IPs. The bind port is the port to use as well.\\ |
IP Restrictions allows you to limit what IPs can connect to this CrushBalance port. Usually this will be left blank.\\ |
[attachments|configure.png]\\ |
\\ |
!Endpoints |
Multiple endpoints can be added, each a different location. CrushBalance will distribute the load over these endpoints, passing along the proxy protocol v1 header if enabled so the receiving endpoint knows the true client's IP.\\ |
Currently you can set the SSL information to use on a per endpoint scenario, but this may change in future versions.\\ |
Waiting headers allows you to configure a redirect http header, and a RegEx pattern to match in the HTTP headers block to determine where to send the user.\\ |
This example is redirecting people to the close of the two domains baed on GeoIP lookup. Domain1 or Domain2 depending on which is closest to them.\\ |
[attachments|endpoints.png]\\ |
\\ |
!Installing |
CrushBalance uses your same CrushFTP Enterprise license key for registration. Until it is registered it will not process and route connections, although it will allow you to configure the settings.\\ |
\\ |
To install the daemon on Linux, use this command: |
{{{ |
./crushbalance_init.sh install |
}}} |
To control the daemon, use this: |
{{{ |
./crushbalance_init.sh start |
./crushbalance_init.sh stop |
}}} |
\\ |
On Windows the button in the UI window preferences will install the windows service.\\ |
[attachments|settings.png]\\ |