ВЗГЛЯД изнутри

 

Подобно многим завсегдатаям Internet, я чаще путешествую по Web рано утром или поздно ночью, когда время отклика меньше. Как и в недобрые старые времена мэйнфреймов, причиной работы в столь необычные часы является чрезмерная централизация.

 

Internet считается и в значительной мере является распределенной средой. Однако в отношении Web теория распределенных вычислений сильно расходится с практикой: массы пользователей получают информацию напрямую с центральных перегруженных серверов.

 

Более старые и развитые протоколы, например FTP, Usenet и DNS (система именования доменов), имеют куда лучшие инструменты распределения нагрузки. Если бы Web работала подобно DNS, у нас был бы доступ к Web через сеть серверов-представителей и мы получали бы страницы с ближайшего сервера, имеющего свежую копию. Когда-нибудь так оно и будет. А пока распределение нагрузки находится на усмотрении поставщиков информации.

 

Самая обычная реакция на слабую производительность  -  увеличить ширину полосы пропускания, однако это не самый эффективный подход.

 

Когда пару лет назад узел PC Week начал захлебываться, мы прежде всего занялись скоростью нашего соединения с Internet. К немалому удивлению, даже когда трафик "штормило", загруженность нашего соединения Т-1 колебалась на уровне 20%.

 

Частично это можно объяснить неэффективностью протокола НТТР, о которой я писал ранее, но главной проблемой является не ограниченность полосы пропускания, а перегруженность серверов.

 

ZDNet смогла эффективно увеличить производительность, значительно расширив оперативную память каждого сервера, перенеся высокоскоростные службы, такие, как FTP-архивы PC Magazine и аудио-службу PC

 

Week Radio, на отдельные машины и даже в отдельные места (так что теперь они используют разные линии подключения к Internet).

 

Следующий шаг  -  это переход от использования одной машины на каждую службу к нескольким. Наиболее общий путь для достижения этого  - "карусельная DNS" в качестве примитивной формы кластеризации для Web. Разместить такую систему просто: присвойте нескольким машинам один и тот же псевдоним DNS (еще он называется CNAME). Например, если у вас пять машин  -  от www1.company.com до www5.company.com  -  дайте каждой из них псевдоним www.company.com.

 

Основная трудность такого решения  -  разобраться, как обеспечить идентичность содержимого серверов.

 

Весьма интересный подход состоит в использовании функции "обратного представителя" (reverse proxy), реализованной в последней версии сервера-представителя корпорации Netscape. Благодаря этой функции, машины с www1 по www5 станут серверами-представителями, а не серверами Web, и будут получать исходное содержимое с сервера Web (возможно, одного из тех, что защищены вашим брандмауэром).

 

Пока Web не разовьет собственный распределенный механизм или пока поставщики не предложат более простые формы кластеризации и репликации Web-серверов, распределение нагрузки будет нелегкой задачей. Хотя полученная выгода того стоит.

 

Имонн Салливан

 

В отношении  Web теория распределенных вычислений сильно расходится с практикой