Design: Global Server Load Balancing (GSLB) System
Design focuses on DNS-based global load balancing and health monitoring of data centers. Does not cover internal data center load balancing or application logic.
Functional Requirements
FR1: Distribute user requests across multiple geographically distributed data centers
FR2: Automatically route users to the closest or best-performing data center
FR3: Provide failover in case a data center becomes unavailable
FR4: Support DNS-based load balancing with low latency
FR5: Handle at least 1 million concurrent users globally
FR6: Ensure p99 DNS resolution latency under 100ms
FR7: Provide 99.9% availability for routing service
Non-Functional Requirements
NFR1: Must work across multiple regions and continents
NFR2: DNS TTL should be configurable but typically low (e.g., 30 seconds)
NFR3: System must handle sudden traffic spikes gracefully
NFR4: Data centers may have different capacities and health status
NFR5: Latency and network conditions vary by user location