txLoadBalancer 1.1.0

txLoadBalancer is a pure Python-based TCP load balancer.

  Add it to your Download Basket!

 Add it to your Watch List!


Rate it!
send us
an update
MIT/X Consortium License 
2.6/5 11
Twisted Community Code
ROOT \ System \ Networking
txLoadBalancer is a pure Python-based TCP load balancer. It takes inbound TCP connections and connects them to one of a number of backend servers.

txLoadBalancer is a fork of Anthony Baxter's PythonDirector. It removed all threading and asyncore code and the admin UI with the Twisted-based analogs. It also significantly reorganized the API and provided many new features (see below).


$ twistd -noy ./bin/txlb.tac

This will use the default configuration file in ./etc/config.xml; you can edit the .tac file to point to the config you prefer. Be sure to edit the config.xml file to properly reflect your services in need of load-balancing.

To enable the admin interface, your config file must have the admin section defined, with the required fields. For an example, be sure to see ./etc/config.xml. For more details, please see the configuration information in the ./doc directory.

If you are creating your own script and don't want to use txlb.tac, you can import the application setup functions in txlb.application.

If you want to "embed" a load-balancer in your Twisted application, see the example ./bin/txlbWeb.tac.

Here are some key features of "txLoadBalancer":

It is a pure-Twisted TCP loadbalancer.
Thanks to Twisted, it's async i/o based, so much less overhead than fork/thread based balancers.
It has multiple scheduling algorithms (random, round robin, leastconns, weighted). If a server fails to answer, it's removed from the pool - the client that failed to connect gets transparently failed over to a new host.
Provides an optional builtin webserver for a built-in admin UI.
Seperate management timer services that perform such tasks as periodically readding failed hosts to the rotation, updated on-disk config files with changes made to the running server.
A built-in SSH server for managing (and modifying) a running load-balancer instance.
A Twisted API for adding a load-balancing service to your Twisted application without the need to run a separate load-balancer.
The application uses an XML-based configuration file.



What's New in This Release:

Massive API changes: competely reorganzied the code base.
Integrated patches from Apple's Calendar Server project.
A new API for creating load-balanced services within a Twisted application (without the need to run a separate load-balancingn daemon).
Added support for live interaction with load-balancer via SSH connection to running Python interpretter (Twisted manhole).
The ability to start listening on a new port without restaring the application.
Added a weighted load balance scheduler.

Last updated on July 7th, 2008

#load balancer #TCP connections #backend servers #TCP #load #balancer #networking

Add your review!