Links

Как работает Платформа?

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

Распределенный обратный прокси-сервер

Это базовая архитектура, использующая слой серверов доставки NGENIX для обработки запросов конечных пользователей к данным на серверах оригинации.
Сервер оригинации отвечает за логику работы веб-приложения и хранит оригинальные данные, за которыми обращаются конечные пользователи через Платформу NGENIX.
Серверы доставки взаимодействуют с серверами оригинации и кэшируют данные при первом запросе конечного пользователя. Все последующие запросы к закэшированным данным обрабатываются серверами доставки из кэш-памяти без обращения к серверу оригинации. Это снижает нагрузку на сервер оригинации, сокращает общее время обработки запроса и многократно увеличивает скорость загрузки данных.
Серверы доставки кэшируют только те данные, которые были запрошены конечными пользователями. Состав данных в кэше разных узлов Платформы может отличаться.
Закэшированные данные удаляются с серверов доставки автоматически по прошествии определенного времени, по мере вытеснения более актуальными данными, либо принудительно через клиентский портал NGENIX Multidesk или API.
Удаленные данные снова попадут в кэш серверов доставки, если будут повторно запрошены конечными пользователями.
Серверы доставки NGENIX ориентируются на HTTP-заголовки, которые выставляет сервер оригинации, и не кэшируют данные, для которых выставлен соответствующий заголовок. Это могут быть уникальные для каждого запроса данные (новостные ленты, корзина онлайн-магазина и т.п), либо данные, которые вы по какой-то причине не хотите хранить в кэше серверов доставки.
Запросы к серверам оригинации осуществляются через постоянно открытое TCP-соединение с серверами доставки. Это повышает скорость загрузки данных (в том числе некэшируемых):
  • уменьшается количество сетевых переходов на пути пакета с данными от сервера оригинации до конечного пользователя;
  • сокращается RTT и, как следствие, сокращается время на повторную отправку потерянных пакетов на перегруженном канале («последней миле»), часто включающем участки с WiFi, сотовой связью и т.п.;
  • взаимодействие сервера оригинации с серверами доставки и серверов доставки с устройством конечного пользователя осуществляется по оптимальному сетевому маршруту.
В рамках данной архитектуры на Платформе может быть также реализована терминация SSL-трафика, верификация запросов по одноразовым ссылкам и защита от DDoS-атак.

Распределенный обратный прокси-сервер с функцией экранирования

Эта архитектура расширяет описанный выше принцип работы Платформы (см. Распределенный обратный прокси-сервер) – в обработке запроса конечного пользователя также могут участвовать серверы промежуточного кэширования Платформы, которые экранируют сервер оригинации от запросов серверов доставки.
Преимуществом этой архитектуры является минимальная и прогнозируемая нагрузка на сервер оригинации, так как сервер оригинации взаимодействует с ограниченным количеством серверов промежуточного кэширования. Издержками архитектуры является удлинение сетевого маршрута для запросов, в обработке которых одновременно участвуют несколько узлов Платформы.
В рамках этой архитектуры на Платформе может быть также реализована терминация SSL-трафика, верификация запросов по одноразовым ссылкам, оптимизация файлов изображений, защита от DDoS-атак и атак с целью взлома.

Распределенный обратный прокси-сервер с функцией оригинации данных

Эта архитектура повторяет принцип работы Распределенного обратного прокси-сервера, но функцию сервера оригинации выполняет один из компонентов Платформы:
Заказчик загружает и хранит данные на серверах хранения или публикует потоки на серверы публикации NGENIX. Далее серверы хранения и/или серверы публикации выполняют функцию сервера оригинации для серверов доставки, которые обрабатывают запрос конечного пользователя к данным.
На Платформе может быть также реализована терминация SSL-трафика, верификация запросов по одноразовым ссылкам, оптимизация файлов изображений, преобразование и запись потоков, защита от DDoS-атак.