DNS round-robin distributes traffic by returning multiple A records for a domain, cycling their order with each query. The simplest load distribution method – no dedicated load balancer needed. Limitations: no health checking (dead servers stay in rotation), unequal distribution (DNS caching), and no session affinity.
DNS round-robin is the simplest traffic distribution technique: configure multiple A records for the same hostname, and the DNS server rotates their order. Clients typically connect to the first IP returned, so rotation distributes connections across servers. Advantages: zero infrastructure cost, works with any protocol (not just HTTP), and is trivial to configure. Limitations are significant: DNS has no health checking – if a server dies, its IP remains in responses until manually removed (or TTL expires). DNS caching means some resolvers serve stale records for hours. Connection distribution is uneven because some clients cache the first successful IP. There is no session affinity – subsequent requests may hit different servers. For these reasons, DNS round-robin is used for: simple low-traffic sites, combined with health-check-aware DNS services (Route 53 health checks, Cloudflare load balancing), or as a first layer before per-server load balancers.
Anycast
Anycast assigns the same IP address to multiple servers in different locations. Routers direct traffic to the nearest instance based on BGP path selection. CDNs, DNS root servers, and DDoS mitigation services use anycast to serve users from the closest point of presence – reducing latency and distributing load geographically.
Load Balancer
A load balancer distributes incoming traffic across multiple backend servers to prevent any single server from becoming overwhelmed. Layer 4 (TCP) load balancers route by IP/port. Layer 7 (HTTP) load balancers can route by URL path, headers, or cookies. Health checks remove failed backends automatically.
Health Check
A health check is a periodic probe that determines whether a service instance is able to handle traffic. Load balancers, orchestrators (Kubernetes), and service meshes use health checks to route traffic only to healthy instances. Types: liveness (is the process alive?), readiness (can it serve requests?), and startup (has it finished initializing?).