Choosing a Data Centre Before Choosing a Server
Subtitle: Two layers, two jobs, one request.
- Left column - Global: which site:
- Answered by DNS or anycast
- Resolver returns nearest region
- Chosen before any packet lands
- Optimises distance and blast radius
- Holds no connection state
- Right column - Local: which machine:
- Sits inside the request path
- Sees real connection state
- Least-connections, consistent hash
- Retries, per-request health checks
- Optimises utilisation
- Simple difference:
- Global = pick the site, then step aside
- Local = pick the machine, every request
- Name the real stack:
- Geographic DNS steering on top
- Layer 4 or layer 7 balancer below
- You need both, not either
- Honest test - three steps:
- Blackhole one whole region
- Count real clients still arriving
- Stop only when arrivals hit zero
Sticky note - the global layer lies, and it lies through caching: A resolver honours the TTL, so during failover clients keep reaching the dead site until it expires. A 60 second TTL still means minutes of errors, and some resolvers ignore short values. Anycast skips the cache but waits on route convergence instead.