greenbalance is a simple TCP load balancer with round-robin and weighted random support built on gevent and wr.
Simple example; this will make the load balancer listen on port 8080 and use a custom configuration.
$ greenbalance --port 8080 --config /path/to/my.config
Options accepted by the greenbalance command.
|--version||Show program's version number and exit.|
|-h, --help||Show this help message and exit.|
|-H, --host||IP or Hostname.|
|-p, --port||Listening Port.|
|-c, --config||Configuration file.|
|-l, --logfile||Log File|
|-L, --loglevel||Log Level (debug, info, warning, error, critical)|
greenbalance.conf is by default placed in /etc if the package was intalled with root privileges. If you have the package installed in a virtualenv you will have to create a configuration file manually and pass it with the --config or -c argument.
[settings] host = 0.0.0.0 # Bind to this (0.0.0.0 = all) port = 3001 # Listening port. [logging] loglevel = debug logfile = /var/log/greenbalance.log [nodes] backend1 3101 = 20 # will serve 20% of the requests. 192.168.100.7 3102 = 40 # will serve 40% of the requests. localhost 3103 = 40 # will serve 40% of the requests.
See below for OS-specific preparations.
Install greenbalance with:
sudo pip install greenbalance
sudo apt-get install python-pip python-gevent; sudo pip install --upgrade pip
Install python-pip and python-gevent from epel.
Documentation is available at readthedocs.org