Bird
Raised Fist0
HLDsystem_design~7 mins

Global server load balancing (GSLB) in HLD - System Design Guide

Choose your learning style10 modes available
Problem Statement
When a single data center or server cluster handles all user requests globally, it becomes a bottleneck causing slow response times and outages during traffic spikes or failures. Users far from the server experience high latency, and if the data center goes down, the entire service becomes unavailable worldwide.
Solution
Global server load balancing distributes user requests across multiple geographically dispersed data centers or server clusters. It directs traffic based on factors like proximity, server health, and load, ensuring users connect to the nearest or best-performing server. This reduces latency, improves availability, and provides failover if one location fails.
Architecture
DNS Resolver
→GSLB Controller
↓
Data Center 1
→Data Center 2
↓
Data Center 3
Data Center 3

This diagram shows how the DNS resolver queries the GSLB controller, which routes user requests to the nearest or healthiest data center among multiple global locations.

Trade-offs
✓ Pros
→
Reduces latency by directing users to the closest data center.
→
Improves availability with automatic failover across regions.
→
Balances load globally to prevent any single data center from overload.
→
Enhances disaster recovery by distributing traffic geographically.
✗ Cons
→
Adds complexity in DNS configuration and health monitoring.
→
Propagation delays in DNS changes can cause temporary routing issues.
→
Requires consistent data synchronization across data centers to avoid stale data.
Use when serving a global user base with latency-sensitive applications and when uptime must be maintained despite regional failures. Typically beneficial at traffic volumes exceeding tens of thousands of requests per second globally.
Avoid when your user base is localized to a single region or when traffic volume is low (under a few thousand requests per second), as the added complexity and cost outweigh benefits.
Real World Examples
Netflix
Uses GSLB to route streaming requests to the nearest edge server cluster, reducing buffering and improving video start times globally.
Amazon
Employs GSLB to direct shoppers to the closest regional data center, ensuring fast page loads and high availability during peak sales.
Google
Implements GSLB to balance search and cloud service requests across multiple global data centers, optimizing latency and fault tolerance.
Alternatives
Anycast Routing
Routes user requests to the nearest data center using network-level IP routing instead of DNS-based resolution.
Use when: Choose when ultra-low latency is critical and network infrastructure supports Anycast, typically for CDN or DNS services.
Regional Load Balancing
Distributes traffic only within a single region or data center rather than globally.
Use when: Choose when your user base is regional or when global distribution is not required.
Content Delivery Network (CDN)
Caches static content closer to users globally but does not balance dynamic application traffic across data centers.
Use when: Choose when primarily serving static assets and reducing bandwidth costs rather than full application load balancing.
Summary
Global server load balancing directs user requests to the best data center worldwide to reduce latency and improve availability.
It uses DNS-based routing considering proximity, health, and load to distribute traffic across regions.
GSLB is essential for global services needing fault tolerance and fast response times but adds complexity and requires data synchronization.

Practice

(1/5)
1. What is the primary purpose of Global Server Load Balancing (GSLB)?
easy
A. To balance load only within a single data center
B. To direct user requests to the best global server based on location and health
C. To encrypt data between servers globally
D. To store user data in a centralized database

Solution

  1. Step 1: Understand GSLB's role in system design

    GSLB directs traffic globally to optimize speed and availability by choosing the best server.
  2. Step 2: Differentiate GSLB from local load balancing

    Local load balancing manages traffic inside a data center, while GSLB manages traffic across data centers worldwide.
  3. Final Answer:

    To direct user requests to the best global server based on location and health -> Option B
  4. Quick Check:

    GSLB = directs users globally [OK]
Hint: GSLB chooses best global server, not just local load [OK]
Common Mistakes:
  • Confusing GSLB with local load balancing
  • Thinking GSLB handles data encryption
  • Assuming GSLB stores user data centrally
2. Which of the following is a correct component used in GSLB architecture?
easy
A. Global DNS server with health checks
B. Single local load balancer without DNS
C. Centralized database for user sessions
D. Static IP routing without failover

Solution

  1. Step 1: Identify key GSLB components

    GSLB uses global DNS servers that perform health checks to route users to healthy servers.
  2. Step 2: Eliminate incorrect options

    Local load balancers alone don't handle global routing; centralized databases and static IP routing don't provide dynamic failover.
  3. Final Answer:

    Global DNS server with health checks -> Option A
  4. Quick Check:

    GSLB = global DNS + health checks [OK]
Hint: GSLB needs DNS with health checks, not just local balancers [OK]
Common Mistakes:
  • Ignoring the role of DNS in GSLB
  • Confusing local load balancer as GSLB
  • Assuming static routing works for failover
3. Consider a GSLB setup with three data centers: US, Europe, and Asia. If the US data center is down, where will the DNS direct a user from Europe?
medium
A. To the closest healthy data center, Europe or Asia
B. To a random data center without health checks
C. To the US data center regardless of health
D. To the Asia data center only

Solution

  1. Step 1: Understand GSLB health check impact

    If the US data center is down, GSLB excludes it from routing decisions.
  2. Step 2: Determine routing for European user

    The DNS directs the user to the closest healthy data center, which could be Europe or Asia depending on proximity and health.
  3. Final Answer:

    To the closest healthy data center, Europe or Asia -> Option A
  4. Quick Check:

    GSLB routes to closest healthy server [OK]
Hint: GSLB skips unhealthy centers, picks closest healthy [OK]
Common Mistakes:
  • Routing to down data center ignoring health
  • Choosing random data center without checks
  • Always routing to Asia regardless of location
4. A GSLB system is not redirecting traffic away from a failed data center. What is the most likely cause?
medium
A. User's browser cache is cleared
B. DNS TTL is set to zero
C. Load balancer inside data center is overloaded
D. Health checks are not configured or failing silently

Solution

  1. Step 1: Analyze GSLB failure to redirect

    If traffic is not redirected from a failed data center, health checks likely are missing or not reporting failures.
  2. Step 2: Evaluate other options

    DNS TTL zero causes frequent lookups but doesn't prevent failover; local load balancer overload or browser cache do not affect global DNS routing.
  3. Final Answer:

    Health checks are not configured or failing silently -> Option D
  4. Quick Check:

    Health checks missing = no failover [OK]
Hint: Check health checks first if failover fails [OK]
Common Mistakes:
  • Blaming DNS TTL for failover issues
  • Confusing local load balancer issues with GSLB
  • Assuming browser cache affects server routing
5. You need to design a GSLB system for a global video streaming service. Which combination best improves user experience and reliability?
hard
A. Single global load balancer without DNS + static IP routing
B. Local load balancers only with no global routing
C. Global DNS with health checks + local load balancers + geo-proximity routing
D. DNS-based routing without health checks or load balancing

Solution

  1. Step 1: Identify key GSLB features for video streaming

    Global DNS with health checks ensures users reach healthy servers; local load balancers distribute load inside data centers.
  2. Step 2: Consider geo-proximity routing benefits

    Routing users to nearest data center reduces latency, improving streaming quality and reliability.
  3. Step 3: Eliminate less effective options

    Single load balancer or no health checks cause bottlenecks or failover issues; local only misses global optimization.
  4. Final Answer:

    Global DNS with health checks + local load balancers + geo-proximity routing -> Option C
  5. Quick Check:

    Combine global DNS, health checks, local balancers, geo-routing [OK]
Hint: Combine global DNS, health checks, and geo-routing for best results [OK]
Common Mistakes:
  • Ignoring health checks in DNS routing
  • Using single load balancer for global traffic
  • Skipping geo-proximity routing for latency
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard