Load Balancing Explained: Algorithms, Health Checks, Layer 4/7, and Connection Draining
Load balancing distributes requests or connections across multiple healthy backends so one server does not carry the entire workload.
Layer 4 vs Layer 7
Layer 4 balances TCP/UDP connections using network information. Layer 7 understands HTTP(S) and can route by hostname, URL path, header, or application rule.
Choose Layer 7 when application-aware routing matters; choose Layer 4 when transport-level performance/protocol support is enough.
Common Algorithms
Round Robin
Distributes requests sequentially across healthy targets. It works well when servers and requests are broadly similar.
Least Connections / Least Outstanding Requests
Favors the backend currently handling less work. It can perform better when requests or connections vary significantly in duration.
Hash-Based Routing
Uses properties such as source or request key to select a target consistently. Useful for some stateful/cache locality requirements, but it can reduce redistribution flexibility.
Health Checks Are Essential
A load balancer should stop sending new work to a backend that cannot serve traffic correctly.
Health checks should be cheap, stable, and relevant to serving readiness. Avoid checks that mark the entire fleet unhealthy because one optional downstream dependency is briefly degraded.
Drain Connections During Deployment
When removing a backend, stop assigning new requests while allowing existing connections or requests to finish for a bounded period.
Connection draining is especially important for WebSockets, streaming responses, and long-lived TCP sessions.
Spread Across Failure Domains
Multiple backends improve availability only when they do not all depend on one machine, rack, or availability zone.
Load balancing and multi-zone placement usually work together.
Avoid Sticky Sessions When Possible
Session affinity can route one user repeatedly to the same backend. It is useful for some legacy/stateful workloads but reduces even distribution and can complicate failover.
Prefer shared/external state when clean horizontal scaling is the goal.
Final Takeaway
Load balancing is more than round robin. Choose the right network/application layer, routing algorithm, health model, failure domains, and connection-draining behavior so traffic moves toward capacity that can actually serve it safely.
References
BUILDING AN AI PRODUCT?
Talk to Lofingo about custom autonomous AI agents, enterprise workflow automation, and scalable software systems.
EXPLORE AI SERVICES →