Если у меня один домен с посетителями из США и Европы, а также 2 сервера, один в США и один в Великобритании, как я могу заставить пользователей из США перейти на сервер США, а посетителей из Великобритании - на сервер в Великобритании? Чтобы уменьшить пинг посетителей?
Прежде всего это возможно? И почему такие компании, как Google, имеют разные домены для каждой страны?
networking
Luka
источник
источник
Ответы:
Потому что это облегчает иметь ОТДЕЛЬНЫЙ КОНТЕНТ для каждой страны. Содержимое должно быть статичным - поэтому, если вы хотите, чтобы английские и, например, испанские страницы были проиндексированы, они должны иметь отдельные URL-адреса. Один путь
example.com/en
- другойen.example.com
. Позднее весы лучше.Не для тебя. Вам нужен поставщик, который поддерживает маршрутизацию anycast.
Чтобы сделать это самостоятельно, вам нужны собственные IP-адреса с международной маршрутизацией, которые невозможно получить для обычного пользователя, поскольку наименьший назначенный блок - это более 4000 адресов (которые вы должны использовать), а затраты высоки.
Если бы вы получили один, вы бы получили маршрутизацию как AS (автономная система) и просто публиковать маршруты, идущие к ближайшему серверу.
Так что не для тебя. Но некоторые хосты могут поддерживать это.
CDN делают это, так что вы точно можете перенести свои статичные вещи в сеть доставки контента.
То, что вы можете сделать, это префиксы стран, а затем перенаправить их с основного домена.
источник
+1 за маршрутизацию anycast как «реальное решение».
Более простой альтернативой является предоставление разных записей DNS для каждого континента. Amazon продает это как маршрутизацию на основе задержки, но я предполагаю, что другие крупные провайдеры DNS предлагают аналогичные инструменты.
источник
Некоторые люди упоминают CDN как решение. Тебе это не нужно. Все, что вам нужно, это чтобы официальный DNS-сервер вашего домена выбрал оптимальный сервер для данного пользователя в зависимости от того, откуда поступает его DNS-запрос (и, возможно, от текущей нагрузки). Например, Akamai, в то же время являясь крупнейшим CDN, предлагает продукт под названием Global Traffic Management, который полностью отделен от своих предложений CDN и предоставляет именно эту услугу (за плату). Это достигается за счет того, что он становится авторитетным DNS-сервером для различных доменов, которые вы администрируете, а затем для входящих DNS-запросов он раздает IP-адреса ваших веб-серверов, правильно учитывая нагрузку и локальность.
Если ваши серверы не могут справиться с вашей нагрузкой (и вы не хотите покупать и администрировать больше), тогда вам нужен CDN, но это не похоже на вашу проблему.
источник
Вы можете использовать anycast маршрутизацию. У 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-адрес.
источник
Если вы ищете решение для распределения нагрузки, я бы порекомендовал облачный хостинг / провайдеров облачных услуг.
Облачные хостинговые серверы спроектированы таким образом, чтобы выполнять те же процессы, что и вы, путем маршрутизации к самому близкому хост-кластеру.
Надеюсь, что это может помочь в некотором роде.
источник