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