A cluster system or a cluster device is a group of interconnected computing nodes (e.g., off-the-shelf servers, desktop computers, etc.) configured to operate together to process network traffic received from remote computing devices. Oftentimes, the processing of incoming network traffic may be distributed between the computing nodes of the cluster system according to a fine-grained load balancing scheme. However, from the perspective of computing devices external to the cluster system, the group of interconnected computing nodes appears as a single logical entity with multiple interfaces. In some environments, a network load balancer is used to distribute incoming network traffic between the interfaces of the single logical entity.
Network load balancers distribute network traffic between two or more computing devices to, among other things, balance processing workloads, provide redundancy, provide scalability, and increase availability. To do so, network load balancers typically distribute incoming network packets between computing devices according to a coarse-grained load balancing scheme (e.g., equal-cost multi-path routing (ECMP), round-robin, etc.). Such network load balancers, however, are unaware of the physical topologies of typical cluster systems and, as a result do not understand the fine-grained load balancing schemes utilized in those systems.