A system for balancing network loads among a group of computer servers. A
load balancing module is provided for each server and includes multiple
network ports for receiving network traffic and coupling messages to its
server or to another module. The interconnect map for the modules is
automatically determined by a topology discovery system and maintained by
a topology update system. Each module monitors the loading and health of
its server and provides this information to the other modules. One or
more master modules are directly connected to an external network and
route received traffic to their own servers and other servers through
other modules or a networking switch based on a priority system. The
priority system may be based on dynamic conditions of server capacities
and current loading.