Most network load balancers do not take the application state into account when making a load balancing decision. They often need a centralized orchestrator to help monitor the overall system. In other environments, load balancer functions are integrated into the application, and so by extension they are not very useful to other applications. These solutions additionally incur connection rejects directly. The authors argue that load balancing solutions are most optimal when they bear knowledge of application state, incur low monitoring overhead, and remain application agnostic at the network layer for their load balancing decision.
展开▼