dnsbalancer


A distributed java application for DNS based load balancing and node monitoring especially for Grids that allow adding/removing servers on demand (i.e. Amazon EC2 or other grids). Currently works as a backend for PowerDNS

The dnsbalancer is a set of java programs for load distribution and node management in a dynamic Grid (i.e. AWS EC2). DNS balancer uses DNS to distribute the load amongst nodes. It can make session replication in a cluster (often encountered with application servers, e.g. JBoss) obsolete because it records the client's IP address and will always forward a particular client to the same server.

It currently works with PowerDNS, a powerful yet easily configured nameserver.

The load balancing director communicates with the backend processes via RMI. Scripts are included that run on the nodes and can propagate address changes of the nodes to the director.

The NS entries can be read from a XML file and the load balanced records can be obtained from a database. Currently, MySQL is used, but of course this is easy to change and if time allows hibernate might be used as O-R mapping.

Currently, there are some tools that allow to administer the Director via RMI.

Planned extensions are a monitoring component and a resource allocation component that can add and remove resources as they become neccessary or obsolete ad-hoc.

The root SVN dir is: https://dnsbalancer.googlecode.com/svn/trunk/dnsbalancer