Information Technology Reference
In-Depth Information
Geolocation is the process of determining the physical location of a machine on the in-
ternet. This is a very difficult task. Unlike a phone number, whose country code and area
code give a fairly accurate indication of where the user is (although this, too, is less accur-
ate in the age of cell phones), an IP address has no concrete geographic meaning. There is
a small industry consisting of companies that use various means (and a lot of guessing) to
determine where each IP subnet is physically located. They sell databases of this informa-
tion for the purpose of geolocation.
4.5.2 Global Load Balancing Methods
A GLB maintains a list of replicas, their locations, and their IP addresses. When a GLB is
asked to translate a domain name to an IP address, it takes into account the geolocation of
the requester when determining which IP address to send in the reply.
GLBs use many different techniques:
Nearest: Strictly selects the nearest datacenter to the requester.
Nearest with Limits: The nearest datacenter is selected until that site is full. At
that point, the next nearest datacenter is selected. Slow start, as described previ-
ously, is included for the same reasons as on local load balancers.
Nearest by Other Metric: The best location may be determined not by distance
but rather by another metric such as latency or cost. Latency and distance are usu-
ally the same but not always. For example, for a long time the only route between
most South American countries was via the United States. In Section 4.5.4 we'll
see that cost is not always a function of distance, either.
4.5.3 Global Load Balancing with User-Specific Data
NowthattheHTTPrequestisdirectedtoaparticular datacenter,itwillbehandledbylocal
load balancers, frontends, and whatever else makes up the service. This brings up another
architectural issue. Suppose the service stores information for a user. What happens if that
user's data is stored at some other datacenter?
For example, a global email service provider might have datacenters around the world.
It may store a person's email in the datacenter nearest to the user when he or she creates an
account. But what if the person moves? Or what if that datacenter is decommissioned and
the person's account is moved to some other datacenter?
A global load balancer works on the DNS level, which has no idea who the user is. It
cannot determine that Mary sent the DNS query and return the IP address of the service
replica with her data.
Search WWH ::




Custom Search