I have been evaluating most of the existing load balancing solutions.
To make it short:
If you want buying it in hardware DON'T take CISCO Local Director,
is that bad you won't believe. The best solution in hardware I
have found are
the machines produced by Alteon Web Systems.
But the best approach for load balancing is LVS. Its a flexible
and its open source.
I also found some nice features which should be implemented in the
1. Load Balancing based upon a hash calculated from src-ip and dest-ip.
I know that does not sound very nice, but it
is needed, if you want to load
balance firewalls. Load Balancing firewalls
means, that you need 2 directors.
One in the dirty and one in the clean segment.
The problem is, that both
directors have to choose the same firewall(realserver)
for a package going
from outside to inside and vice versa. Because
(at the moment) the one director
does not know anything about the other, you
have to balance the traffic by
the things, which are for both the same, the
src-ip and dest-ip.
2. Load balancing based upon URL
Think about the content of a big internet site.
It has html, cgi, gif,
video-streams, mp3 ...
Lets say you need 10 servers. Using normal load
balancing means you have
to buy 10 quite big == expensive machines. Now
it could be economical
interresting to divide things up.
2 big machines, which
are holding the whole content
4 machines, which are
holding streaming media. This machines don't need
to be that
powerfull (CPU). They only have to have a big I/O-system.
4 machines for cgi etc.
They need much CPU and Memory, but only an small
Load Balancing Type
3. active/active Configuration of the directors
If you setup a redundant lvs you have a active
director and an sleeping passive
director. But mostly you will also have redundant
situation would be nice.
Both directors are active and are connected
to both uplinks. If both are working
each of them is using one uplink exclusive.
If one director fails, the other
director should use both uplinks, if an uplink
fails both directors sould use the
remaining one. Perhaps VRRP between the directors
would be useful.
Description: Card for Markus Bernhardt