Как работает Платформа?
В статье описан принцип работы Платформы NGENIX.
Last updated
В статье описан принцип работы Платформы NGENIX.
Last updated
В классической двухуровневой серверной архитектуре (frontend/backend) Платформа NGENIX выполняет роль многофункционального высокопроизводительного распределённого фронтенда, состоящего из множества кэширующих прокси-серверов.
Использование такой геораспределенной веб-инфраструктуры для обработки запросов повышает скорость загрузки данных, в том числе некэшируемых:
Взаимодействие конечного пользователя с данными осуществляется по оптимальному сетевому маршруту;
Уменьшается количество сетевых переходов на пути пакета с данными от сервера оригинации до конечного пользователя;
Сокращается RTT и, как следствие, сокращается время на повторную отправку потерянных пакетов на перегруженном канале («последней миле»), часто включающем участки с WiFi, сотовой связью и т.п.;
Это базовая архитектура услуги, использующая один слой серверов доставки NGENIX для обработки запросов конечных пользователей к данным на серверах оригинации.
Сервер оригинации отвечает за логику работы веб-приложения и хранит оригинальные данные, за которыми обращаются конечные пользователи через Платформу NGENIX.
Серверы доставки взаимодействуют с серверами оригинации и кэшируют данные при первом запросе конечного пользователя. Все последующие запросы к закэшированным данным обрабатываются серверами доставки из кэш-памяти без обращения к серверу оригинации. Это снижает нагрузку на сервер оригинации, сокращает общее время обработки запроса и многократно увеличивает скорость загрузки данных.
Серверы доставки кэшируют только те данные, которые были запрошены конечными пользователями. Состав данных в кэше разных узлов Платформы может отличаться.
Закэшированные данные удаляются с серверов доставки автоматически по прошествии определенного времени, по мере вытеснения более актуальными данными, либо принудительно (задание на очистку кэш) через клиентский портал NGENIX Multidesk или API.
Удаленные данные снова попадут в кэш серверов доставки, если будут повторно запрошены конечными пользователями.
Серверы доставки NGENIX ориентируются на HTTP-заголовки, которые выставляет сервер оригинации, и не кэшируют данные, для которых выставлен соответствующий заголовок. Это могут быть уникальные для каждого запроса данные (новостные ленты, корзина онлайн-магазина и т.п), либо данные, которые вы по какой-то причине не хотите хранить в кэше серверов доставки. Запросы к серверам оригинации осуществляются через постоянно открытое TCP-соединение с серверами доставки, что позволяет экономить время и ресурсы на установку нового соединения на каждый запрос.
При обработке запроса серверами доставки, запрос может быть заблокирован при наличии признаков DDoS-атаки, в соответствии с задаваемыми правилами обработки запросов или при верификации запросов по одноразовым ссылкам.
Обмен данными между серверами оригинации заказчика и серверами доставки, серверами доставки и конечными пользователями осуществляется в зашифрованном виде, с использованием SSL-сертификата NGENIX или загруженным на Платформу SSL-сертификатом заказчика.
Эта архитектура услуги расширяет ранее описанный принцип работы Платформы (см. Одноуровневый распределенный обратный прокси-сервер) – в обработке запроса конечного пользователя используется дополнительный уровень функциональных серверов Платформы, которые могут:
Экранировать сервер оригинации от запросов серверов доставки (серверы промежуточного кэширования) с целью снижения нагрузки на сервер оригинации со стороны серверов доставки;
Преобразовывать файлы изображений, передаваемые конечным пользователям в процессе доставки (серверы оптимизации изображений) для:
Оптимизации вычислительных ресурсов и области хранения серверов оригинации, возникающих в результате подготовки файлов изображений под разные типы устройств;
Ускорения доставки файлов изображений и оптимизация объёмов трафика до конечного пользователя за счёт сжатия данных.
Защищать сервер оригинации заказчика от атак, нацеленных на попытки эксплуатации уязвимостей веб-ресурса заказчика (серверы WAF).
Издержками этой архитектуры услуги является удлинение сетевого маршрута для запросов, в обработке которых последовательно участвуют несколько узлов Платформы.
Эта архитектура услуги повторяет принцип работы Одноуровневого распределенного обратного прокси-сервера или Многоуровневого распределённого обратного прокси-сервера (см. выше), но функцию сервера оригинации выполняет один из компонентов Платформы:
серверы хранения, выполняющие функцию источника данных (файлы и медиафайлы) для серверов доставки, предварительно опубликованных заказчиком по S3;
серверы публикации, выполняющие функцию источника данных (потоков) для серверов доставки, предварительно опубликованных заказчиком по RTMP (Push).
Заказчик загружает и хранит данные на серверах хранения или публикует потоки на серверы публикации NGENIX. Далее серверы хранения и/или серверы публикации выполняют функцию источника данных для серверов доставки, которые обрабатывают запрос конечного пользователя к данным.
На примере корпоративного веб-ресурса (от конечного пользователя до источника данных).
Запрос попадает на оптимальный сервер доставки NGENIX из сетей операторов связей, подвергаясь очистке от нелегитимного трафика DDoS-атак на уровнях сети передачи данных.
Серверы доставки осуществляют обработку запроса:
Анализируют и блокируют запросы, содержащие признаки DDoS-атаки на уровне приложений (Сервис DDoS Protection);
Осуществляют проверку содержимого запроса на соответствие критериям в составе задаваемого на Платформе набора правил, и выполняют в отношении таких запросов определённые действия (Сервис Edge Logic Rules).
Для незаблокированных запросов, сервер доставки определяет наличие запрашиваемых данных в кэш памяти сервера - если есть, данные отдаются из кэша, если нет, запрос проксируется далее, на сервер промежуточного кэширования (Сервис Origin Shield).
Сервер промежуточного кэширования определяет наличие запрашиваемых данных в кэш памяти сервера - если есть, данные отдаются из кэша, если нет, запрос проксируется далее, на сервер оригинации. Если запрашиваются файлы изображения для которых применяется политика преобразования, то перед передачей данных конечному пользователю серверы оптимизации изображений осуществляют преобразование согласно установленной политике (Сервис Image Optimization).
Сервер оригинации отдаёт запрашиваемые данные серверам промежуточного кэширования и серверам доставки.
Конечный пользователь получает запрашиваемые данные с серверов доставки.