Могу ли я использовать два разных сервера для одного сайта? Как?

Могу ли я использовать два разных сервера для одного сайта? Как?

Можно ли использовать два сервера (или более) для одного и того же сайта, но с разными данными?

Например, у server1 есть page1.html, а у server2 есть page2.html, и к ним обоим можно получить доступ из www.site.com. Возможно ли это?

Как вы думаете, как это возможно?

ну, каждый DNS указывает на определенный сервер, но я вижу, что могу указать несколько серверов, например NS1, NS2, NS3...

Что я пытаюсь сделать?

У меня есть существующий веб-сайт, основанный на php, и я хочу расширить его с помощью asp.net-mvc. В настоящее время они оба установлены на одном сервере, а файлы находятся в одном виртуальном каталоге. Я хочу разделить их на два разных сервера.

Подробности сервера:

Windows Server 2008 R2 и Windows Server 2008.

ПС

Может кто-нибудь перетэгнуть этот вопрос? Понятия не имею, какие теги правильные. Спасибо.

решение1

Для этого можно использовать балансировщик нагрузки уровня 7 (или ряд таких балансировщиков в разных центрах обработки данных), который будет направлять запросы по определенным шаблонам URL на соответствующий бэкэнд.

Varnish, Squid, Apache, Nginx, Lighttpd все они могут справиться с этим довольно хорошо. LVS — это программный балансировщик нагрузки (в ядре) для Linux, который может это делатьhttp://www.linuxvirtualserver.org/ Существуют также коммерческие продукты, способные справиться с этой проблемой.

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

решение2

Microsoft NLB выполнит это. Просто настройте 2 разных сервера IIS, поместите их в кластер NLB, который разделяет 50/50 на порту 80/443, а затем разместите разные версии каждого веб-сайта на inetpub каждого узла. Настройте свое полное доменное имя так, чтобы оно указывало на IP-адрес NLB, и вы начнете выдавать 2 версии веб-сайта, к которым можно получить доступ, перейдя по одному URL-адресу.

Обратите внимание, что это не позволяет вам ВЫБИРАТЬ, к какому узлу вы обращаетесь, но гарантирует, что каждый второй запрос будет отправлен на другой сервер.

решение3

Я делаю это в продакшене сегодня, используя модуль Reverse Proxy в Apache. Директива ProxyPass позволит передавать запросы на разные бэкенд-серверы на основе входящего URL.

Настройте сервер Apache frontend для прослушивания www.site.com, а затем передавайте запросы на два внутренних сервера server1 и server2 на основе запрошенного URL. Поиск в Google Apache Reverse Proxy дает множество инструкций о том, как это можно сделать.

Связанный контент