#amazon-web-services #web-applications #amazon-cloudfront #react-fullstack
Вопрос:
Я пытаюсь создать архитектуру для веб-приложения с полным стеком, которое будет размещено на AWS.
До сих пор я решил, что хочу обслуживать интерфейс с помощью CDN (AWS CloudFront), чтобы оптимизировать задержку для пользователей по всему миру.
Мой вопрос: Как я должен управлять внутренним развертыванием, чтобы иметь наименьшую задержку при получении HTTP-запросов от интерфейса?
- Должен ли я иметь несколько балансировщиков нагрузки в разных зонах, которые будут находиться перед моим внутренним API?
- Должен ли я иметь глобальный ускоритель AWS вместо LBs и кучу экземпляров EC2 в разных зонах?
В настоящее время это 2 варианта, о которых я думал, но если есть лучший способ сделать это, я открыт для рекомендаций.
Спасибо!
Комментарии:
1. Зависит от того, как вы планируете настроить CloudFront, но если вы используете настройки по умолчанию, CloudFront уже является глобальным. Так что это означало бы, что вам, вероятно, не нужен Глобальный ускоритель. Альбионы являются высокодоступными по дизайну, поэтому они будут развернуты в любом количестве азов, в каком вы пожелаете. И последнее, но не менее важное: если вы не создаете приложение для миллионов пользователей, вам, вероятно, не нужно так сильно беспокоиться о задержке.
2. Ладно, понял. И если у меня есть, скажем, 3 фунта (США, ЕС, Азия), CDN будет знать (на основе местоположения пользователя), на какой фунт отправить внутренний запрос, чтобы иметь наименьшую задержку, верно?