I get asked about GSLB quite often, so I thought I would hammer this out. Let me know what you guys think. And full disclosure, I am a NetScaler kind of guy. You can ask me about other solutions, but in my opinion, nothing does this as well as NetScaler. Again, solely my opinion.
So let’s start with the basics - general load balancing is a service that distributes requests evenly across backend resources. This can be done for a variety for reasons: performance, disaster scenarios, high availability, etc.
The next logical step is offering your datacenter’s pooled resources. This is called Global Server Load Balancing (GSLB going forward please), and the selection of resources load balanced can correspond to:
- Picking the closest resource. If I am in NYC, give me access to a resource in NYC; if I’m in Raleigh, give me Raleigh servers. If I'm on the Moon, I want to access my Moon servers in first priority.
- Performance or HA: If my backend resources are too busy in one site, have them redirect to share the load between two or more datacenters.
- Disaster Avoidance (HAH! Notice that I did not say Disaster Recovery. It is 2015 guys and gals!) So if I have a datacenter failure, resources may still be offered through another datacenter.
For example: A visitor is browsing www.gothamtg.com from NYC. In most scenarios, this request would be sent to the server where it is hosted, and the request would be served from that server only.
But with GSLB, the website will be on resources across different datacenters located in different parts of the world. So if I ask for www.gothamtg.com while in NYC, I will hit the NYC datacenter only, unless there is a fault. Then I would be redirected to another site.
On NetScaler, the Metric Exchange Protocol (MEP), at regular time intervals checks the health of the servers for providing the best response and directs traffic to those servers. Making sure you have the correct monitors set is very important…just testing ICMP back and forth does not represent the user experience.
There are many configuration options. For example, having two hot datacenters that operate via geolocation with a common fallback datacenter seems to be a popular setup as of late. Another option is to have specific backend resources failover in different orders and different directions, all using different events to kick them off.
Having the right partner to guide you through this is just as important. It can be a tough process if you are new to this. Take time to map out your end goal and start small if needed. If you need some expert advice, don't be afraid to reach out to a NetScaler veteran.