Перенаправлять пользователей на ближайший сервер в зависимости от их местоположения без изменения URL - PullRequest
19 голосов
/ 04 февраля 2012

Это мой случай:

У меня 6 серверов в США и Европе. Все серверы находятся на балансировщике нагрузки. Когда вы посещаете веб-сайт (www.example.com), он указывает на IP-адрес балансировщика нагрузки, а с их адреса вы перенаправляетесь на один из серверов. В настоящее время, если вы, например, посещаете веб-сайт из Германии, вы случайным образом переводитесь на один из серверов. Вы можете перенести на сервер в Германии или на сервер в Сан-Франциско.

Я ищу способ перенаправления пользователей на ближайший сервер в зависимости от их местоположения, но без изменения URL. Так что я НЕ хочу иметь много URL, таких как www.example.com, www.example.co.uk, www.example.dk и т. Д.

Я ищу что-то вроде CDN, где вы извлекаете файлы с ближайшего сервера (?), Чтобы я мог избавиться от балансировщика нагрузки, потому что в случае сбоя веб-сайт не отвечает (?)

Например:

Если вы из Великобритании, перенаправьте на IP 53.235.xx.xxx Если вы с запада нас, перенаправьте на IP .... если вы из Южной Европы, перенаправьте на IP ... и т. д.

DNSMadeeasy предлагает функцию, подобную этой, но они взимают предварительную цену в 600 долларов и для стартапа, который не знает, будет ли эта функция работать должным образом, или нет пробной версии, которую мы не можем себе позволить: http://www.dnsmadeeasy.com/enterprise-dns/global-traffic-director/

Как еще это можно сделать?

Также еще один вопрос по текущей настройке. Даже с 6 серверами, подключенными к балансировщику нагрузки, если балансировщик нагрузки имеет проблемы с запаздыванием, он берет все с собой, верно? или если в результате какого-либо изменения происходит сбой, веб-сайт не отвечает. Итак, каков наилучший способ устранить это время простоя, чтобы, если один IP-адрес сервера не отвечал, переходите к следующему (как это делает балансировщик нагрузки, но балансировщики нагрузки сами могут иметь проблемы)

1 Ответ

3 голосов
/ 23 марта 2012

Помогло бы узнать, о каком типе серверов приложений вы говорите; то есть J2EE (например, JBoss / Tomcat), IIS и т. д.

Вы можете использовать аппаратный или программный балансировщик нагрузки с Sticky IP и определять диапазоны IP-адресов для привязки к различным серверам приложений. Интернет-провайдеры каждой страны должны иметь свой собственный блок IP-адресов.

Список на сайте ниже.

http://www.nirsoft.net/countryip/

Вот также действительно хорошая статья о балансировке нагрузки в целом, с множеством проблем высокой доступности / постоянства. Это должно ответить на ваш второй вопрос о единственной точке отказа на вашем балансировщике нагрузки; Есть много разных методов для обеспечения высокой доступности и распределения нагрузки. Многое зависит от того, какое приложение вы запускаете, и требуется ли вам постоянные сеансы или нет. Балансировка нагрузки по липким IP-адресам, если постоянство не требуется, и вы работаете в режиме реального времени, правильно проверяет работоспособность, может обеспечить высокую доступность и простое восстановление после отказа. Недостатком является то, что нагрузка распределяется неравномерно, но кажется, что вы ищете распределение на основе близости, а не нагрузки.

http://1wt.eu/articles/2006_lb/index.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...