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