The Load Balancer project

Load Balancer
People
Project leader:
Vaclav Petricek <petricek--at--acm--dot--org>

Project members:
Lukas Hluze <lukas--at--hluze--dot--cz>
Vaclav Nidrle <nidrle.vaclav--at--seznam--dot--cz>
Premysl Volf <premysl.volf--at--nst--dot--cz>
Stanislav Zivny <stanislav.zivny --at--comlab.ox.ac--dot--uk>

What is Load Balancer?
The Load Balamcer is a school project and its goal is an implementation of a free software modular loadbalancer, which is comparable with most of commercial loadbalancers and in some attributes is even better. The main focus is put on modularity, stability and performance of the program.

Loadbalancing problem
The common technique of system scaling is building of servers' farms. Requests distribution between servers on a farm can be done by using DNS round-robin. This method distributes requests periodically and equally among individual servers in the farm. But then the request distribution among servers is not equal according to the servers performance and there is not any possibility to tune the distribution smoothly. Moreover, the specific routing of certain types of requests to specialized servers is impossible.

That is why the loadbalancers are used on servers' farms. They distribute the workload among servers according to given rules, so the servers can have a different performance, they can be optimized for different types of requests. (e.g. static web pages, cgi scripts, streaming servers etc.) Loadbalancer then makes a decision according to the actual configuration and different parameters like servers actual availibility, workload, performance, request type, source or destination address and port. Loadbalancer usage brings faster requests handling, requirements reduction and server failure protection.

Documentation

Download