Наш веб-сайт в настоящее время размещен в Великобритании, и мы очень хорошо позиционируемся в поисковых системах на www.google.co.uk. Чтобы добиться такого же успеха в США, наш сайт должен быть размещен в США.
У меня есть несколько вопросов по этому поводу.
1) как мне настроить DNS, чтобы трафик США знал, что нужно переходить на ближайший сервер?
2) Наш сайт еще не испытывает огромной нагрузки, поэтому в настоящее время может ли сервер в США просто выполнять обратное проксирование запросов к нашему серверу в Великобритании?
3) Или мы бы создали какой-то скрипт, который синхронизирует базы данных на обоих серверах?
DNS на основе геолокации
Вы можете запустить привязку и исправить ее с помощью GeoDNS чтобы вернуть другой IP-адрес в зависимости от местоположения запрашивающего.
Альтернативой самостоятельному запуску DNS является использование провайдера, который позволит вам указать IP в зависимости от местоположения пользователя. Например: GeoScaling
Обратное проксирование
База данных
Вопросы 2 и 3 сильно зависят от вашего приложения. Вопрос 1 теоретически достижим так:
Настройте сервер в США и соответствующий DNS-сервер (отдельный) для этого сервера.
Дайте всем DNS-серверам один и тот же IP-адрес, включая ваш сервер в Великобритании - этот метод известен (и широко используется с DNS) как Anycast.
Попросите вашу сеть или провайдера colo объявить маршруты к вашим DNS-серверам через BGP, чтобы ваши машины были доступны. Здесь могут быть некоторые непредвиденные оговорки в зависимости от настроек вашего хостинга.
Настройте каждый DNS-сервер для обслуживания IP-адресов ближайшего к нему сайта, например DNS-сервер США должен обслуживать адреса для серверов US / .com, а DNS-сервер Великобритании - адреса для серверов UK / .co.uk.
Из-за Anycast обычно всегда будет использоваться ближайший DNS-сервер и, следовательно, будет возвращать IP-адреса ближайшего сервера.
Дополнительные соображения:
Если вы собираетесь полностью реплицировать свой сайт, это также имеет преимущества в том, что посетители из США указывают на домен .co.uk на ближайший сервер, а посетители из Великобритании в домен .com - на европейский сервер (при условии, что у вас есть ServerAlias
или другая настройка vhosting).
Также обратите внимание, что если вы не можете заставить вашего сетевого провайдера объявлять маршруты для вас, это неосуществимое решение. Это может быть очень сложно сделать запрос в сценарии управляемого хостинга или потребовать специализированных ресурсов от вашей хостинговой компании.
Еще одно замечание: Anycast - ненадежная установка для протокола, ориентированного на соединение, но хорошо подходит для трафика UDP, такого как DNS.
Я вижу смысл зеркального копирования содержимого сайта на сервер в США и применения некоторой локализации. Наличие сервера в США должен чтобы быстрее реагировать на запросы клиентов из США.
Разве обратное проксирование не замедлит обслуживание динамического контента по сравнению с размещением вашего контента из США в Великобритании?
Если ты достаточно большой, я думаю, ты поговоришь с Акамай.
Для №1 существует множество инструментов, которые помогут вам определить относительное местоположение вашего пользователя: http://www.google.com/search?q=geolocation+ip
Что касается проксирования и синхронизации, я не уверен, чувствителен ли Google к физическому расположению вашего целевого сервера и заподозрил бы, что вы просто отлично укажете оба на один и тот же пункт назначения, если имя домена не изменится. пока они путешествуют по сайту.
Более простой :
1 / Аренда серверов у нескольких хостингов / облачных провайдеров по всему миру
2 / Установить Varnish :)
3 / Используйте инструмент балансировки нагрузки (Cedexis, Dyn и т. Д.) Для балансировки трафика в сети кеш-серверов. При желании вы можете перенаправить IP-адреса Google специально на свои локальные кеш-серверы.
В этой конфигурации трафик отправляется на ваши локальные кэширующие серверы в США. Это очень просто и может помочь поисковому роботу Google ;-)
Проверено и одобрено.
Для №1, я думаю, вам не нужно определять местоположение пользователя самостоятельно, существует множество сервисов, таких как dnspod.com