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.