Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Cети -> DNS -> Распределенный сервер и круговой DNS


Распределенный сервер и круговой DNS

Круговой DNS Одним из наиболее удачных способов увеличения производительности веб-сервера является создание распределенной системы. В этом случае вместо одного компьютера запросы пользователей обрабатывают сразу несколько машин. Подобное решение имеет много плюсов по сравнению другими вариантами. Однако как можно реализовать его на практике? Ведь в Интернете каждому компьютеру соответствует свой уникальный IP-адрес. Так как же заставить две или даже несколько разных машин отвечать на запросы, предназначенные только для одной из них? Самым простым способом является технология кругового DNS.

Вообще-то, круговой DNS - не единственный способ распределения нагрузки между компьютерами, играющими роль одного сервера. Каждый из них имеет свои преимущества и недостатки. Для того чтобы полностью разобраться в них, необходимо разбить задачу на три проблемы - балансировка, надежность и удобство администрирования. Только подробно рассмотрев каждую из них, мы сможем выяснить все преимущества и недостатки любого способа распределения нагрузки в веб-сервере, состоящем из нескольких компьютеров.

Суть технологии кругового DNS заключается в следующем. Всем известно, что в базах данных DNS-серверов хранятся записи, определяющие соответствие между именем хоста и его IP-адресом. Причем обычно каждому домену соответствует адрес одного компьютера. Однако чаще всего один и тот же сайт обладает не одним, а как минимум двумя именами, например, так: http://www.hostinfo.ru/ и hostinfo.ru. Так кто же может нам помешать занести в базу DNS две записи, каждая из которых будет соответствовать своему домену и отправлять пользователей на разные компьютеры? Фактически, получается, что у нас функционируют два совершенно отдельных веб-сервера, каждый из которых обслуживает один сайт.

Распределенный веб-сервер

К сожалению, подобное решение не выдерживает никакой критики. Общеизвестно, что количество переходов по адресам с приставкой www значительно выше, нежели без нее. Таким образом, никакой практической пользы использование этого приема не дает - один сервер у нас будет перегружен работой, а второй - простаивать.

К счастью, технология DNS позволяет внести в базу несколько записей с одним и тем же доменным именем. Таким образом, владелец может указать несколько веб-серверов для своего домена. В этом случае первый интернетчик, обратившийся по данному адресу, будет отправлен на первый компьютер, второй - на второй и так далее. А когда сервер "пройдется" по всем записям, соответствующим одному домену, он снова вернется на первую. Таким образом, происходит как бы бег по кругу. Именно поэтому такая технология и получила название кругового DNS. Ну, а теперь, когда мы разобрались, как она работает, давайте перейдем к подробному разбору трех основных аспектов проблемы.

Балансировка

Балансировка, пожалуй, является самым главным критерием для подбора способа реализации распределенного сервера. И действительно, мы же хотим перекинуть часть запросов с одного компьютера на другой, увеличив тем самым производительность всей системы в целом. Однако стоит заметить, что балансировка нагрузки в технологии кругового DNS полностью отсутствует. Это решение всего лишь делит количество запросов поровну между всеми компьютерами, входящими в состав распределенного сервера. Между тем, в большинстве случаев эти машины имеют различные мощности и разные объемы системных ресурсов. Таким образом, распределение запросов "поровну" может легко привести к тому, что один компьютер будет перегружен, а второй - простаивать. Распределенный веб-сервер

Идем дальше. Даже если все компьютеры, входящие в состав распределенного сервера, абсолютно одинаковы, то это не значит, что они будут обрабатывать запросы с одинаковой скоростью. Ведь одному пользователю может потребоваться маленькая страничка, а другой запустит на выполнение скрипты, требующие больших затрат системных ресурсов. Кроме того, известен тот факт, что при достижении определенного порога загрузки сервера пользователи начинают посылать буквально обвальное количество запросов, моментально перегружающих машину. Причины этого, наверное, стоит искать в психологии. Дело в том, что загруженный сервер медленно обрабатывает информацию, поступающую с компьютеров пользователей. Ну, а нетерпеливые интернетчики реагируют на это частыми нажатиями на кнопку Refresh в своих браузерах, то есть отправлением все новых и новых запросов.

Но и это еще не все. В Интернете на сегодняшний день большой популярностью пользуются локальные DNS-сервера. Они однажды получают из основной базы определенную запись и в будущем хранят ее. Естественно, локальный DNS-сервер не имеет никакого представления о круговой технологии, а поэтому пользователь всегда будет попадать на один и тот же компьютер. Это значит, что чем раньше будет введена в эксплуатацию машина, тем больше запросов ей придется обрабатывать. Поэтому добавление к распределенному серверу нового компьютера может не оказать ожидаемого эффекта.

Надежность

Надежность распределенного веб-сервера, созданного с помощью кругового DNS, невелика. Если одна из двух машин выходит из строя или останавливается на профилактику, то половина запросов пользователей "падает в пустоту". Причем у этих людей складывается впечатление, что сайт вообще недоступен, в то время как второй компьютер нормально функционирует в составе сервера и даже, может быть, особенно и не загружен. А теперь давайте подумаем, что будет, если мы остановим на профилактику самую старую машину? Вспомните, ведь именно на нее из-за существования локальных DNS-серверов идет основная нагрузка. Поэтому в данном случае подавляющая часть интернетчиков, пытающихся загрузить сайт, получат сообщение Server Unavailable. Таким образом, надежность распределенного веб-сервера, выполненного по технологии кругового DNS, не сильно отличается от надежности одиночной машины.

Удобство администрирования

Администрирование распределенного веб-сервера на основе кругового DNS

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

Вывод

Итак, как мы видим, реализация распределенного веб-сервера с помощью технологии кругового DNS, мягко говоря, далека от идеала. В ней полностью отсутствуют средства балансировки нагрузки, да и надежность оставляет желать лучшего. Кроме того, использование кругового DNS порождает ряд проблем с реализацией некоторых веб-технологий. Возьмем для примера SSL-соединения или поддержку сессий пользователей. Все данные, необходимые для работы, записываются на тот компьютер в составе сервера, на который пользователь отправлял запрос на авторизацию. Однако следующий его запрос может попасть на другую машину, на которой нет нужной информации. Таким образом, интернетчик, оказывается неавторизованным и снова вынужден вводить свой логин и пароль. Ну, и так далее. Поэтому единственным плюсом кругового DNS являются минимальные затраты времени и средств на администрирование распределенного веб-сервера.

Источник: www.hostinfo.ru

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.
 
Rambler's Top100