Как Google выполняет маршрутизацию запросов DNS Geo Location?
Мне интересно, кто делает гео-местоположение DNS для google.com? Под запросом геолокации я имею в виду определение местоположения пользователя, вычисление ближайшей фермы серверов к его местоположению, а затем маршрутизацию запроса в выбранное местоположение.
Мы оцениваем несколько предложений от разных поставщиков для этой услуги, и я подумал, что должен знать, что используют большие мальчики.
4 ответа
Google документировал их методы, по крайней мере частично, в своей статье " Переход от сквозной информации о пути к оптимизированной производительности CDN". Это в значительной степени основано на задержке к различным AS согласно этой статье.
Google использует anycast для маршрутизации трафика DNS на ближайшую ферму серверов.
Если вы ищете базу данных IP GeoLocation, вы можете бесплатно скачать ее с MaxMind. Они также предлагают несвободную версию с более высокой точностью (хотя бесплатная версия достаточно хороша для большинства применений).
Есть несколько услуг, которые также бесплатны.
Я подозреваю, что Google имеет свою собственную базу данных и не полагается на внешнюю компанию для предоставления информации.
Редактировать:
Процесс отправки трафика на ближайший сервер в основном не имеет ничего общего с DNS. Это протокол маршрутизации BGP , который называется Anycast. Вам нужно будет связаться с некоторыми крупными хостинг-провайдерами, чтобы согласовать это. У Google есть свои дата-центры, они не размещены.
Google использует свои собственные серверы и, возможно, собственное программное обеспечение. Некоторые компании, такие как UltraDNS, могут предлагать одну и ту же услугу, но она может быть довольно дорогой, даже могут быть разные уровни ценообразования в зависимости от требуемой точности (город / страна).