AWS Инфраструктура с минимальной задержкой

Я хотел бы настроить наиболее правильную инфраструктуру с минимальной задержкой для AWS,

Я хотел бы служить статичным Javascript файлы более CloudFrontи, кроме того, вызов динамического сервера, который будет возвращать вызов Javascript функция, которая была объявлена ​​ранее файлами, обслуживаемыми CloudFront - Я обнаружил, что это самый оптимальный способ сделать это.

Тем не менее, динамический вызов зависит от определенной базы данных (вероятно, в конечном итоге DynamoDB) что я хочу, чтобы рассеяние и тиражирование происходило во многих регионах, чтобы максимально снизить задержку.

Моя идея была Lambda функции распространены в нескольких регионах мира, получая данные из DynamoDB реплики в соответствующей области, чтобы обслуживать динамические параметры для функций JS (есть ли способ сделать Lambda функции не зависимые и имеющие DynamoDB конечная точка жестко запрограммирована в коде?).

В дополнение ко всему, я бы хотел, чтобы каждый сделанный запрос проводился CloudWatch лучший подход для этого или я должен хранить его прямо в MySQL Aurora база данных или DynamoDB какой-то? Что будет лучшим выбором для целей мониторинга?

Является ли это наилучшей возможной инфраструктурой для многомиллионной пользовательской системы, для нескольких регионов, с минимальной задержкой и наиболее масштабируемым способом?

1 ответ

Если вам нужны динамические запросы в Cloudfront, вы можете использовать Lambda @ edge.

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

Dynamodb поддерживает мультирегиональный мастер для репликации.

Лямбда - удобный инструмент, но он страдает от "холодного" запуска при ~10% запросов при быстром увеличении, поэтому задержка 90-го процентиля увеличится в ~ 10 раз. Вы можете использовать Fargate для запуска полных контейнеров, которые автоматически масштабируются, вместо функций автоматического масштабирования Lambda с Api Gateway.

Cloudwatch работает для мониторинга, не требуя большой настройки или использования сторонних инструментов.

Надеюсь, это поможет.

Другие вопросы по тегам