Traditional server-side Global Server Load Balancing (GSLB), as explained in the previous blog, uses only server-side information for load balancing, failover and optimal server selection. Since the GSLB infrastructure collects server information such as server status (available/unavailable), current server load (CPU and/or memory load) and/or server’s service response time, GSLB has a complete overview of the current server status in all data centres. By using real-time status parameters, and not using legacy server load balancing algorithms such as round-robin, weighted round-robin, least connections and random, GSLB can accurately manage load balancing across multiple distributed sites by dynamically adapting DNS responses to clients’ queries.
The main problem with the server-side GSLB approach is that server-side GSLB makes the final decision only on the server-side, usually approximating two fundamental GSLB functions:
In contrast, the client-side GSLB makes the final decision on the client-side, in which case server-side GSLB components only provide the client-server status information, such as current server load and/or service response time, along with information for network distance measurements and composite DNS metric calculation.
The client calculates the composite DNS metric for the public IP address of each server based on the measured and delivered server parameters and decides for himself which server is optimal for him. During the measurements, the availability of the servers is checked by the client and the network distance is precisely determined. Therefore, the client can always select the server that is available and optimal for him, that is the server that offers the lowest service response time. To provide client-side GSLB functionality, the client (laptop PC, desktop PC, smartphone, …) requires a client-side GSLB library (DNS client) to perform DNS queries, process received data, measure network distances, and make a final decision.
Key advantages of modern client-side vs server-side GSLB: