Направление динамических поддоменов на определенные серверы - PullRequest
0 голосов
/ 08 марта 2011

Мы создаем мультитенантное приложение SAAS. Каждый клиент получает свой собственный поддомен, http://customername.mycompany.com. Каждый клиент будет иметь много гигабайт данных, что означает, что они должны быть назначены определенному серверу и оставаться там.

Если у меня есть ферма серверов и приходит запрос для конкретного клиента, как мне перенаправить запрос на нужный сервер?

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

Есть ли более простой способ?

Если нет, то где мне найти такой балансировщик нагрузки? Те из них, которые я нашел в Интернете, больше похожи на устройства, чем на приложения, которые могут отправлять запросы в базу данных, чтобы найти нужный сервер назначения.

1 Ответ

0 голосов
/ 08 марта 2011

Я думаю, что ответ в вопросе; Вы упоминаете, что пользователь будет подключаться к username.mycompany.com. Так что используйте запись DNS A, чтобы указать их на определенный IP.

В будущем, если вы хотите распределить нагрузку на пользователя (скажем, 2) сервера, вы можете создать виртуальный IP-адрес на устройстве балансировки нагрузки (например, с LVS), а затем указать запись A на * 1003. * Виртуальный IP , созданный LB и распределяющий пользователя по группе серверов, которые вы настроили.

Вот почему использовать субдомены проще, чем иметь доступ на основе URL, такой как company.com/username, и в этом случае вам нужно будет проверить содержимое пакета, чтобы увидеть запрошенный URL. Используя субдомены, все можно сделать на уровне IP.

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