Если у меня один домен с посетителями из США и Европы, а также 2 сервера, один в США и один в Великобритании, как я могу заставить пользователей из США переходить на сервер США, а посетителей из Великобритании переходить на сервер Великобритании? чтобы уменьшить пинг посетителей?
Во-первых, возможно ли это? И почему у таких компаний, как Google, есть разные домены для каждой страны?
И почему у таких компаний, как Google, есть разные домены для каждой страны?
Потому что так проще иметь ОТДЕЛЬНЫЙ КОНТЕНТ для каждой страны. Контент должен быть статическим, поэтому, если вы хотите, чтобы страницы на английском и, например, испанском языках индексировались, у них должен быть отдельный URL. Один из способов example.com/en
- другой en.example.com
. Чем позже масштабируется лучше.
Во-первых, возможно ли это?
Не для тебя. Вам нужен провайдер, поддерживающий маршрутизацию anycast.
Чтобы сделать это самостоятельно, вам потребуются собственные IP-адреса с международной маршрутизацией, которые невозможно получить обычному пользователю, поскольку наименьший назначенный блок составляет более 4000 адресов (которые вы должны ИСПОЛЬЗОВАТЬ), а затраты высоки.
Если вы его получите, вы получите маршрутизацию как AS (автономная система) и просто опубликуете маршруты, ведущие к ближайшему серверу.
Значит, не для тебя. Но некоторые хосты могут это поддерживать.
CDN делают это - так что вы определенно можете переместить свои статические данные в сеть доставки контента.
Что ты жестяная банка do - это префиксы стран, а затем перенаправлять на них с основного домена.
+1 за произвольную маршрутизацию как «реальное решение».
Более простой альтернативой является предоставление разных записей DNS для каждого континента. Amazon продает это как Маршрутизация на основе задержки но я предполагаю, что другие крупные поставщики DNS предлагают аналогичные инструменты.
Некоторые люди назвали CDN в качестве решения. Тебе это действительно не нужно. Все, что вам нужно, это чтобы полномочный DNS-сервер для вашего домена выбрал оптимальный сервер для данного пользователя в зависимости от того, откуда исходит их DNS-запрос (и, возможно, какова текущая нагрузка). Например, Akamai, будучи крупнейшим CDN, предлагает продукт под названием Глобальное управление трафиком который полностью отделен от его предложений CDN, которые предоставляют эту самую услугу (за плату). Для этого он становится авторитетным DNS-сервером для различных доменов, которые вы администрируете, а затем для входящих DNS-запросов раздает IP-адреса ваших веб-серверов, правильно учитывая нагрузку и местонахождение.
Если ваши серверы не могут справиться с вашей нагрузкой (и вы не хотите покупать и администрировать больше), тогда вам нужен CDN, но похоже, что это не ваша проблема.
Вы можете использовать произвольную маршрутизацию. У Google, например, есть DNS-серверы, такие как 8.8.8.8, которые являются разными серверами в зависимости от того, где вы находитесь.
Вы также можете использовать сеть доставки контента для своих статических данных.
И разные домены для каждой страны дают вам другие преимущества, но это, конечно, не поможет вам, если все ваши посетители будут использовать один домен.
Вы также можете изучить балансировку нагрузки на основе местоположения близость. Или ознакомьтесь с ускорителями доставки, такими как Fastly.
Вам нужно географическая балансировка нагрузки. Это очень сложная, нетривиальная проблема. Принятый ответ неверен. Ты можешь это сделать. Некоторое время назад я видел страницу со сценарием, который измеряет пинг пользователей и отправляет их на ближайший сервер. Я ДУМАЮ, что это было: http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.geographically_distributed.html
Кроме того, F5 Networks продает маршрутизатор с географической балансировкой нагрузки, но он дорогой.
Вы можете использовать DNS-сервер, который будет направлять посетителей из каждого региона на разные компьютеры.
Возможный повторяющийся вопрос: Есть ли DNS, поддерживающие геолокацию / направленный DNS?
Вы можете взглянуть на http://www.neustar.biz/services/dns-services/managed-dns-packages слишком. пакет Enterprise поддерживает то, что они называют региональной маршрутизацией, и я думаю, это будет вашим решением. Как уже упоминалось ранее в отношении предложения Akamai, служба DNS достаточно умен, чтобы указывать на географически ближайший IP-адрес.
Если вы ищете решение для распределения нагрузки, я бы порекомендовал облачный хостинг / поставщиков облачных услуг.
Серверы облачного хостинга спроектированы таким образом, чтобы выполнять тот же процесс, что и вам, путем маршрутизации к ближайшему кластеру хостов.
Надеюсь, это может как-то помочь.