The minimum reasonable size of a TacoPleX cluster is two levelers and two servers. The system can be scaled to any number of servers and levelers that will fit on your network. The network topology of the cluster should look something like this:
internet | router 10.0.0.1 | ----------------- Net A | | 10.0.0.101 10.0.0.102 10.0.0.200 10.0.0.200 = LevIP leveler0 leveler1 10.0.1.1 10.0.1.2 | | ----------------- Net B | | 10.0.1.101 10.0.1.102 10.0.1.200 10.0.1.200 = ServIP server0 server1 |
All of the levelers share a common address (LevIP). All of the servers also share an address (ServIP). Levelers periodically grab packets destined for the ServIP by sending arp replies for the LevIP on Net A. This distributes input load among the front-line levelers. In the event of leveler failure, it will stop sending arp replies and no longer be part of the system.
In the diagram as drawn, the default route for the server machines is set through the NetB interfaces of the levelers. Packets go out the way they came in. Because all servers alias a common IP, all outgoing packets appear to originate at the same source. There is an alternative configuration for the back (Server) end of the cluster. You may prefer to have traffic move in only one direction through the cluster. This can be achieved by routing output from the servers through a second router like so:
internet | router 10.0.0.1 | ----------------- Net A | | 10.0.0.101 10.0.0.102 10.0.0.200 10.0.0.200 = LevIP leveler0 leveler1 10.0.1.1 10.0.1.2 | | ----------------- Net B | | 10.0.1.101 10.0.1.102 10.0.1.200 10.0.1.200 = ServIP server0 server1 10.0.2.101 10.0.2.102 | | ----------------- Net C | 10.0.2.1 router | internet |