DNS Load Balancing
Problem
One hostname is served by several machines.
Clients need a way to discover more than one possible destination.
Solution — Multiple DNS Answers
DNS can return multiple addresses: api.example.com ↓ 10.0.1.10 10.0.1.11 10.0.1.12
Clients can reach different endpoints according to DNS and client behaviour.
Azure Traffic Manager provides DNS-based load balancing for public endpoints. For example, api.example.com can point to a Traffic Manager profile that selects between app deployments in West Europe and East US using health checks and a routing rule such as priority or weighted distribution.
The client connects directly to the selected endpoint. Cached DNS answers can delay switching to another endpoint after a failure.
DNS load balancing: DNS tells the client which server to connect to. The client then connects directly. Azure example: Traffic Manager.
Traffic load balancing: the client connects to a load balancer, which forwards traffic to a selected backend. Azure examples: Azure Load Balancer, Application Gateway, Front Door.
They can work together: DNS selects a region; a load balancer there selects a backend.
Core idea: DNS can participate in distributing traffic by mapping one name to multiple destinations.