Академия Хан масштабировалась до 2,5x их веб-трафик в неделю Используя серверу без сервеса и кэширования CDN всех статических данных. Они также широко кэшируют общие запросы, пользовательские настройки и данные сеанса.
Вы также можете принять Безметражный подход к масштабированию Проверяя мониторинг вашего ресурса для идентификации узких мест. Обычно это база данных первой. Но узкие места могут быть памятью, CPU, сеть I/O или диск O/o.
Как принцип, заставить веб-стек сделать меньше работы для наиболее распространенных запросов.
Некоторые идеи:
Запросы баз данных кэша
Индекс базы данных
Переместить хранение сеанса в инструмент кэширования в памяти
HTML фрагмент кэширования
Используйте очереди и больше работников
Используйте HTTP-кеширование заголовков
Добавьте сеть доставки контента перед статическим файлом
Вот a Руководство для масштабирования до 11 м пользователей , сцена по сцену:
Используйте вертикальное масштабирование рано на Но у него нет переработки или избыточности. AT> 1000: добавьте зоны доступности, балансировщики нагрузки и базу данных раб в RDS.
На 10k-100КС: горизонтальное масштабирование экземпляров. Переместите статическое содержимое на S3 и даже некоторое динамическое содержание на CDN CloudFront. Добавьте более прочитанные реплики базы данных на RDS. Shift Session Состояние от вашего веб-сайта и хранить состояние сеанса в Elasticache или Dynamodb
AT> 500K: Добавить инструменты автоматизации и инфраструктуру для отбеседки. Добавить мониторинг, метрики и регистрацию.
AT> 10м: используйте федерацию, каррировать и исследовать другие типы DBS
— Нашел это полезным? Я пишу Еженедельная рассылка на действиимируемых CS Research and Software Engineerings Best Reparies Отказ
Ура, зак
Оригинал: «https://dev.to/zacyap/scaling-your-web-app-up-to-100k-users-and-beyond-3ii6»