Uriy MerkUriy Efremochkin personal website

Web-сервера и их использование для управления нагрузкой на приложение.

Вступление

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

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

Именно поэтому требуется уделять особое внимание мерам по продумыванию и улучшению инфраструктуры веб-сервисов.

Существует множество методов улучшения эффективности и отказоустойчивости веб-сервисов. Вот некоторые из них:

Так же эффективным методом является использование наиболее подходящего типа веб-сервера или совместное использование нескольких различных веб-серверов для разных типов задач.

Типы Веб-серверов

Генерирующие контент, надёжные, гибкие веб-серверы

Простые, быстрые, проксирующие и балансирующие

Простые веб-сервера часто используются для проксирования трафика (HTTP, FTP, почтовый), для простой балансировки нагрузки между веб-серверами, и для отдачи статического содержимого. Это то, для чего они разрабатывались и то, что они умеют выполнять очень эффективно.

Также основной задачей является борьба с проблемой С10k, или 10 000 connection problem (Проблема 10 000 соединений).

Существует несколько различных технологий работы веб-приложений в веб-серверах. Вот некоторые из них:

Простые веб-сервера, такие как Nginx, хороши в совместной работе с протоколом FastCGI.

NGINX

(англ. engine x) (по-русски произносится как э́нджин-э́кс)

Архитектура сервера

Всё это говорит о том что NGINX позволяет быстро эффективно обрабатывать статические запросы и бороться с наплывами посетителей.

Особености NGINX - Общее

Особености NGINX - Почтовый прокси

Особености NGINX - HTTP-сервер

Особености NGINX - Прокси веб-сервер

FastCGI и NGINX (модуль ngx_http_fastcgi_module)

... (скоро)

Балансировка нагрузки

Кроме простых веб-серверов для балансировки нагрузки такжет могут быть использованы:

IPVS (IP Virtual Server) - технология реализующая балансировку на транспортном уровне распределяя TCP/UDP трафик от виртуального сервера между реальными серверами. В итоге получаем один IP и несколько реальных серверов. Основано на ядре Linux.

Литература и полезные ссылки

... (скоро)

Поделитесь с коллегами ссылочкой: