R50 aa7740e9b117001914342620566645e0
Web разработка, Мобильные прил

Startup Show

Добавлено 10 июн 2024 в 16:29
Stream API сервис управляет высоконагруженным приложением, позволяющим пользователям получать высококачественный видеоконтент, включающий в себя фильмы, сериалы, ТВ каналы.

Быстродействие.
Одним из ключевых требования к проекту было его быстродействие, так как было очень важно, чтобы пользователь получал запрашиваемые данные как можно быстрее. Проблема усложнялась тем, что в требованиях к проекту значилось использование php. Для того чтобы обойти проблемы с медленной работой php под большими нагрузками, было принято решение использовать php Swoole, применение которого позволило многократно увеличить скорость работы сервиса под большими нагрузками. Также широко применялось кэширование наиболее критичных частей системы.

Стабильность кода.
Высокая нагруженность проекта требовала свести риск деплоя кода с багами до минимума. Для этого было решено использовать CI/CD подход, что, в свою очередь, требовало как можно большего процента покрытия кода проекта тестами, что было сделано с использованием PHP Unit. Также процесс CI/CD включает в себя проверку кода на дублирование и соответствие стандарту PSR-12. CI/CD был построен с использованием Pipeline от GitLab.

Отказоустойчивость.
Сервисом пользуются десятки тысяч человек по всему миру, поэтому было важно предусмотреть архитектуру, которая позволит свести вероятность отказов до минимума. После анализа возможных вариантов решения проблемы было решено построить архитектуру сервиса с использованием сервисов Amazon AWS.

Были использованы сервисы:

  • Lambda -> используется для облачных вычислений
  • RDS -> используется RDS cluster на основе движка AWS Aurora
  • Elastic Cache -> Redis cluster используется для кэширования данных
  • Cloud Watch -> сервис анализа логов
  • CloudFront -> сервис, позволяющий размещать контент ближе географически к его пользователям


B33997ac76 F57a71f17d