ultramonkey даст вам хорошее описание балансировки нагрузки на многих серверах, поэтому вы видите 1 IP-адрес, но соединение маршрутизируется на один из многих серверов (с учетом отказоустойчивости).
Если ваши веб-серверы не используют одно и то же хранилище (общее хранилище может быть непростым, вы должны использовать SAN с «общей» файловой системой, такой как GFS , или базы данных), то вы должны включить липкие сеансы , которые сообщают маршрутизатору, что каждый клиент выберет сервер для связи с ним в первый раз, и сохранят связь с этим сервером. Это менее отказоустойчиво (но в Интернете вам просто нужно обновить разорванное соединение, чтобы начать заново), но гораздо проще для архитектуры (и быстрее, поскольку каждый веб-сервер может оставаться независимым)
Другая проблема, которая может понадобиться вам в действительно отказоустойчивой ситуации, заключается в расположении физических серверов далеко друг от друга, что вызывает проблемы с производительностью для большинства проектов совместного использования (т. Е. Вы не можете поместить все свои серверы в сеть SAN, если они Находится в разных странах), заключается в использовании подхода с несколькими серверами, с использованием одного DNS-имени и регулярной репликации данных между ними. Балансировка нагрузки DNS , возможно, самый простой способ использования нескольких веб-серверов в качестве одного веб-сайта.
В этих случаях БД часто может быть единой базой данных, с которой все серверы обмениваются данными или могут совместно использоваться, используя кластеризацию или, чаще, доставку журналов, чтобы гарантировать, что у вас есть резервная копия, готовая к подключению в случае первичного сбоя. Доставка журналов более распространена для серверов резервного копирования, чем расположенных далеко.