load-balancing
Load Balancing
A load balancer's only job is to keep sending traffic to backends that can actually handle it, and stop sending it to ones that can't — everything else is a refinement of that. Most load-balancing incidents are not algorithm problems, they're health-check problems: a backend that's failing gets traffic anyway because the check never noticed, or a backend that's fine gets pulled because the check measured the wrong thing.
Correctness here matters more than cleverness. A load balancer that sends traffic to a dead backend has failed at its one job, no matter how good the algorithm is.
1. Choose L4 or L7 by what you need to inspect
L4 (transport-layer) balancing routes by IP and port without looking at the request — it's fast, protocol-agnostic, and can't make routing decisions based on content. L7 (application-layer) balancing terminates the connection and reads the actual request, so it can route by path or header, do TLS termination, and retry idempotent requests — at the cost of more compute and being protocol-specific (usually HTTP).