my assumption was that the DNS load balancing is the way for the top level load balancing:
In older posts I see that google returned multiple A records. At least in the theory, it should provide not only load balancing, but also a fallback for clients, if first/some of IPs aren't working. But now I see that google (and facebook) returns only one record of type A. It seems still returning different IPs, but what is the reason behind? Is there any other way to provide possibly better load balancing and/or reliability?
EDIT: Found this answer about TCP anycast. I'm not comfortable enough with networking, but it seems like a valid way to handle the challenge.