Сети, на базе которых строятся автоматизированные системы крупных предприятий, в том числе виртуальных предприятий, включают большое число
клиентов и
серверов. Связь клиентов с серверами при сосредоточении
узлов на сравнительно небольшой площади (например, в одном здании) возможна через
локальную сеть (ЛВС). Если
корпоративная сеть соединяет несколько производственных площадок, удаленных друг от друга на значительные расстояния, то обычно для связи используют
Internet. Если к тому же применяются
"тонкие клиенты", то приходится через Internet обращаться не только к
серверам баз данных, но и к ряду серверов приложений и
Web-серверов, распределенных или сосредоточенных на одной из площадок.
Доступ к Web-серверам необходим для информационного обслуживания сотрудников, для реализации многих функций таких систем, как
SCM или
CRM. Иногда предприятие поддерживает Web-сервер, используемый для организации Web-конференций, дистанционного обучения персонала и т.п. В этих условиях ради сокращения времени ожидания пользователями ответов на запросы целесообразно создать один или более серверов, дублирующих основной Web-сервер и называемых зеркалами.
Зеркалирование позволяет уменьшить длины очередей к Web-серверам.
Дальнейшее сокращение временных задержек достигается использованием кэширования данных в промежуточных
proxy-серверах. При этом обращение к Web-серверу происходит через прокси-сервер, в котором запоминаются на определенное время файлы, извлекаемые с помощью Web-сервера. Поэтому повторный запрос файла уже не потребует трудоемкого обращения к Web-серверу. Чем чаще происходят повторные запросы, тем выше экономия во времени ожидания. Однако при отсутствии повторных запросов, наоборот, наблюдается снижение эффективности, так как для обращения к прокси-серверу требуется дополнительное время.
В результате вариант архитектуры вычислительной сети крупного предприятия имеет вид, представленный на рис. 1. Клиенты К извлекают нужные файлы из кэша прокси-сервера П. Если в кэше запрошенного файла не оказалось, то П обращается к Web-серверу через Internet. Балансировщик Бл распределяет клиентские запросы на обслуживание между однотипными серверами С, т.е. выбирает один из Web-серверов, который с помощью одного из серверов приложений и сервера базы данных формирует ответ клиенту.
Брандмауэр выполняет функции защиты информации, пропуская только разрешенные сообщения.
Рис. 1. Возможная архитектура корпоративной вычислительной сети
Реализация балансировки нагрузки возможна несколькими способами. Во-первых, функции балансировки можно совместить с преобразованием
IP-имени в
IP-адрес, т.е. балансировщик воплотить в
DNS-сервере. В этом случае все однотипные серверы имеют одно общее IP-имя, но разные IP-адреса. Во-вторых, выбор одного из серверов можно совместить с установлением соединения по
протоколу TCP. Способ удобен при реализации серверов на многопроцессорной системе,
кластере или в ЛВС. В-третьих, выбор сервера можно связать не с установлением соединения, а с каждым запросом по уже установленному соединению. В этом способе можно получить оптимальное распределение запросов по серверам, так как учитывается характер запросов, но дополнительные затраты времени связаны именно с обработкой данных о трудоемкости выполнения запроса. В-четвертых, выбор зеркала возможен с помощью отдельной программы балансировки, которая определяет (например, по очереди) IP-адрес сервера. Этот способ не требует переделки DNS-сервера, удобен для территориальных сетей, но из-за двойного установления соединения (сначала с балансировщиком, затем с выбранным сервером) требует дополнительных затрат времени.