Load Balancing can be done using DNS in which reply to the DNS requests are based on requester IP’s geographic location and response from DNS. For Example, a user browse or requests CentOS.org, the request will be sent to GLB DNS Server which will check requesters IP and try to find the nearest server or the server having least response time and then redirects traffic to the server.
Step 1: User (In this case user is from Thailand (Asia)) enters website or requests for the domain CentOS.org. DNS Request will be sent to the ISP and from where it will be passed to GSLB DNS Server.
Step 2: GSLB DNS Server will send request to all the Country NS or to the GSLB Server based in different location.
Step 3: As soon as GSLB receives the response from all the servers it analysis the response time and detects the Nearest Server Location for the Users Request and redirect it to the server.
Step 4: User get connected to the nearest Server. Here in the above example, the user is from Thailand (Asia) and the server based in India will be the nearest server for him/her.
But there are many draw backs of Global DNS Load Balance as sometime DNS Cache of the local System or ISP creates problem. So, the preferred or the suggested way of setting up GSLB is to set it up without DNS Server.