Назад | Перейти на главную страницу

Настройка сервера 1 для синтаксического анализа и передачи запросов статических файлов на сервер 2 и ресурсоемких запросов на сервер 3

Проблема:

Наш REST API предназначен для запросов статических изображений и запросов для других ресурсоемких задач, таких как рендеринг новых изображений.

Мы заметили, что наш сервер Apache-Django зависает при выполнении некоторых запросов на рендеринг и, следовательно, не может выполнять более частые и простые запросы статических изображений.

Базовая схема решения:

Сервер 1 анализирует запросы URL и решает, является ли запрос запросом статического изображения для передачи на сервер 2 или запросом рендеринга для передачи серверу 3.

Сервер 2 и Сервер 3 затем отправляют ответ обратно клиенту.

Мы используем AWS.

Вопросы:

Следует ли использовать Apache-Django для всех перечисленных выше серверов?

Следует ли рассматривать CloudFront как альтернативу серверу 2?

Можно ли управлять сервером 1 с помощью расширения AWS Load Balancer?

Что еще мне следует исследовать?

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

CloudFront будет точкой входа для всех входящих запросов. Статический контент будет храниться на S3 (с соответствующими заголовками Expires), а CloudFront настроен для обслуживания статического контента с S3. Динамический контент будет обслуживаться из ваших экземпляров EC2 (с немедленными заголовками Expires), а CloudFront настроен для обслуживания динамического контента с этих серверов.