Как настроить GeoIP CName?

704
zyklus

Я ищу способ настроить свой DNS так, чтобы глобальный трафик попадал на разные серверы. На данный момент у нас есть серверы в одном дата-центре, и пользователи из отдаленных районов жалуются на медленную скорость. Поэтому мы хотели бы настроить серверы ближе к этим пользователям и использовать subdomain.domain.comих (очень похоже на CDN, но с динамическим контентом).

Кто-нибудь знает хост DNS, который это делает? Или как именно это называется, чтобы я мог найти информацию об этом?

Чтобы уточнить:

subdomain.domain.com should automatically go to one of these:  Server A (Texas) - hosts north/south america Server B (Amsterdam) - hosts europe/africa Server C (Singapore) - hosts asia/australia 
1

1 ответ на вопрос

2
milli

It's called Global Server Load Balancing. Akamai, Sandpiper, Amazon web services, etc can do that. If you want to do it yourself, you'll need something like a F5 Big-IP (for big bucks $$$). Keep in mind that DNS is the wrong place to do this properly which is why it's often called poor man's load-balancing.

Почему DNS это неправильный способ сделать это? Конечно, вы можете легко поместить перенаправления на «north-america.domain.com», «asia.domain.com» и т. Д., Но это будет связано с первоначальным обращением туда и обратно, где бы ни находился корневой сервер. Кроме того, такие сайты, как Google, делают это с помощью DNS. Если я посмотрю `google.com` из Азии, я получу один набор IPS, все начинающиеся с` 61.91.9`. Если я посмотрю его из Нью-Йорка, я получу еще один сет, начинающийся с `74.125.226`. Установка гео-ip-нагрузки на NS значительно минимизирует количество поисков и значительно увеличивает скорость начальной загрузки. zyklus 10 лет назад 0
Поскольку клиенты не запрашивают ваши DNS-серверы напрямую, они запрашивают свой DNS-сервер, который не всегда является локальным для них. Большинство организаций также используют серверы пересылки, так что вы на два шага удалены от фактического IP-адреса клиента. В большинстве случаев это «достаточно близко», но лучшее место для принятия решения - на уровне маршрутизации, проблема в том, чтобы получить информацию, необходимую для этого. Вот почему все до сих пор используют DNS-подход к GLB. Это "достаточно хорошо" ... попытки добавить телеметрию в DNS, чтобы принимать лучшие решения о маршрутизации, никогда не собирались достичь консенсуса и стали стандартом. milli 10 лет назад 0
Хорошо, если это не идеально, но при условии, что у меня всего 4 или 5 центров обработки данных по всему миру, разве это не так хорошо, как «идеальное» решение? Я вижу, как он разваливается, только когда у меня есть серверы в 20 городах на одном континенте, но даже тогда он «приличный», поскольку всегда будет возвращать сервер близко к клиенту, если не самый близкий. zyklus 10 лет назад 0
Да, это достаточно хорошо. Ради интереса, я призываю вас спросить у DNS Google (8.8.8.8, который используют многие люди) о доменном имени, которым вы управляете, перехватить пакеты, которые вы получаете от Google, для определения вашего имени, и посмотреть, есть ли какое-либо отношение к вашей публике. IP-адрес, который вы использовали для инициации запроса. Попробуйте дважды. Это должно прояснить, о чем я говорю. ;-) milli 10 лет назад 0
`8.8.8.8` - это произвольный IP-адрес, другая идея, хотя я предполагаю очень похожий результат. Насколько я знаю, anycast терпит неудачу из-за того, что я пытаюсь сделать, поскольку последующий запрос не обязательно попадет на тот же сервер. Мне нужны сеансы пользователя, чтобы остаться на одной машине zyklus 10 лет назад 0
Да, но Anycast - это хорошо для твоих целей, верно? Ваши пользователи будут перенаправлены на локальный экземпляр, и вы отправите их на ближайшую ферму серверов, верно? milli 10 лет назад 0
да, но если я не ошибаюсь, anycast должен быть реализован на уровне маршрутизатора, и, следовательно, хостинг-провайдер должен его поддерживать. Это предполагает, что мы переключаем провайдеров на гораздо более дорогого (если он вообще существует - я не знаю ни одного хоста VPS, который его поддерживает). Решение DNS может быть реализовано путем добавления узла DNS и изменения записей NS. zyklus 10 лет назад 0
Спасибо за информацию, по крайней мере, я знаю, что искать сейчас :) [nsone] (https://nsone.net/) кажется хорошим местом для нас, чтобы начать смотреть на gslb, так как у них есть бесплатный уровень с 5M запросы / месяц. zyklus 10 лет назад 0
Не предлагая вам делать что-либо здесь, просто то, что вы предложили. И подумайте, как это будет работать с другими матрицами разрешения в реальном мире (например, с Google). milli 10 лет назад 0

Похожие вопросы