Если я правильно понимаю вопрос: как несколько веб-серверов координируют свои действия при возврате ответов?
В целом, ферма веб-серверов будет обслуживать точно такой же HTML для клиентов при поступлении определенного запроса.Если необходимо сохранить состояние - предположим, что пользователь отправляет обратно форму с данными, или состояние сеанса используется для отслеживания корзины покупок - тогда вам понадобится некоторый общий механизм для этого.
Естьмножество способов обмена состоянием между несколькими экземплярами веб-сервера:
- В базе данных могут храниться данные, которые необходимо хранить в течение неопределенного времени, например информация профиля пользователя
- Аналогично, ключхранилище с высоким значением (например, хранилище таблиц Windows Azure) можно использовать для постоянного хранения с преимуществами в производительности по сравнению с меньшей гибкостью при запросе
- Состояние общего сеанса (с использованием базы данных или центрального сервера состояний сеанса) может хранить умереннопостоянные данные, локальные для текущего сеансакаждый веб-сервер
- В конечном итоге, конфликт из-за общего хранилища сеансов или базы данных может свести на нетПреимущества нескольких веб-серверов
Чтобы обойти это, некоторые системы используют принцип «возможной согласованности», когда, например, обновление профиля может не реплицироваться сразу на каждый сервер в кластере.Не совсем свежие данные иногда считаются достаточно хорошими.
Как вы можете сказать, это сложный предмет, и я действительно только катался по его краям.
Хорошая новость заключается в том, что обычно вам не нужно беспокоиться о , поскольку, если вы не создаете очень большой или сложный сайт, наиболееСовременное серверное оборудование может обрабатывать многие десятки запросов в секунду, не потревожившись.Только когда вы начинаете превышать несколько десятков одновременных запросов в секунду, веб-фермы начинают становиться необходимыми.