Для решения задачи распределения нагрузки можно использовать программные комплексы или функции операционной системы — все то, что может сократить время обработки запросов, легко в обслуживании и способно распределить трафик между Web-серверами. Например, можно спроектировать модуль, который будет работать сразу на нескольких компьютерах, отслеживая поступающие запросы и выбирая тот или иной Web-сервер для ведения сессии. При этом запрос по адресу 192.168.0. попадающий в разделяемый Web-серверами сегмент, направляется серверу 192.168.0.5, а в возвращаемых этим сервером пакетах подставляется адрес отправителя 192.168.0.1 (то есть видимый для клиента виртуальный адрес сайта). Некоторые операционные системы предоставляют возможность для группировки (clustering) нескольких процессов (например, служб Web-серверов) под одним адресом IP. При этом, однако, иногда требуется дополнительная настройка серверов, так же как и дополнительные программные модули. Помимо непосредственного перенаправления поступающих запросов системы распределения обязаны производить измерения текущей загрузки Web — серверов и определять меру их доступности для пользователя. Методы определения уровня загрузки включают активное измерение времени реакции сервера, измерение времени по событию и использование программных агентов. Метод активного измерения реакции сервера несложен. Программа распределителя нагрузки периодически включает таймер, затем запрашивает некий объект с сервера и определяет время, за которое этот сервер обработает запрос и вернет объект. Тот URL объекта, который вы зададите для мониторинга со стороны распределителя, будет определять измеряемую функциональность Web-сервера. Например, если вы зададите путь к простому статичному файлу, распределитель будет оценивать время ответа на основе обработки сервером этого обычного файла. Если же вы зададите путь к странице, которая подразумевает обращения к базе данных, то распределителем будет учтено время, которое тратится на обработку транзакции. Измерение времени реакции по возникающему событию производится в момент получения запроса от клиента. Запрос приходит из Internet, распределитель транслирует запрос на сервер и включает таймер. Подводя итоги всего вышесказанного, осветим некоторые плюсы и минусы применения современных механизмов распределения нагрузки. К преимуществам можно отнести следующее: