Global Server Load Balancing (GSLB)
I hadn’t given this much thought recently but a post on the NANOG mailing list had a question from someone attempting to deploy a GSLB as a solution. I had played with doing this briefly in 1999 and wasn’t very impressed with the concept at the time. My reasons were the following.
- client local caching, ie. stub resolvers, etc
- client browser caching
- bgp and transit issues with getting correct server to respond
My simple minded solution at the time was to have zones with different resource records and have these DNS servers on the same servers that I was running my web service. The hope was that if a server was down then the dns server wouldn’t offer up that web server address. Not really a solution at all it turns out. Adding multiple A records per server made it tolerable but still problematic.
I decided to search for GSLB today and see what solutions were out there and found a wealth of information. The best explanation by far was from Pete Tenereillo with 3 exceptional papers describing the pitfalls…things I hadn’t considered at the time such as sessions, cookies, etc. The first paper is titled, Why DNS Based Global Server Load Balancing (GSLB) doesn’t work. Great read and you will not be disappointed.