Шешімдерді қабылдау мерзімі

26.10.26 (қоса алғанда)

Марапаттау нысаны

По договорённости

Өнім күйі

MVP

Тапсырма түрі

Акт міндеттері

Сфера применения

Медиасфера

Область задачи

Үлкен деректерді өңдеу және сақтау

Тапсырманың (жобаның) мақсаты мен сипаттамасы

Мы развиваем мобильное приложение для спортивных болельщиков (основная аудитория — Северная Америка): пользователи следят за отдельными спортсменами и получают push-уведомления о вызовах в состав, травмах, трансферах и игровых событиях. Backend работает на Google Cloud Platform: микросервисы на Go в Cloud Run и GKE, шина событий Google Cloud Pub/Sub, приём фидов от нескольких сторонних поставщиков спортивных данных и доставка уведомлений через FCM/APNs на клиент на Flutter. Ищем команду или специалиста для профилирования и перепроектирования конвейера, чтобы live-события доставлялись пользователям в гарантированное время даже в пиковые игровые окна.

Өнім түрі

БҚ/АЖ

Мәселенің сипаттамасы

В пиковые дни (много матчей одновременно, день открытия сезона, дедлайн трансферов) входящий поток событий возрастает в 30–50 раз за несколько минут. В результате: задержка от события поставщика до push-уведомления растёт с ~2 с до 40–90 с; накапливается backlog подписок Pub/Sub, автомасштабирование Cloud Run не успевает; поставщики часто присылают события повторно, что вызывает дубли уведомлений; события одного матча приходят и обрабатываются не по порядку, что даёт ошибочные уведомления (например, «травма» после «вернулся в строй»); популярных спортсменов отслеживает очень много пользователей, поэтому одно событие порождает миллионы push-уведомлений и «горячие точки»; облачные затраты растут из-за избыточного резервирования, так как нет понятной модели масштабирования.

Tech-тапсырма
Күтілетін әсер

Ускорение доставки уведомлений в пике примерно в 10 раз (p95 ≤ 3 с, p99 ≤ 5 с при 30-кратной нагрузке); полное устранение дублей и ошибочных уведомлений; снижение облачных затрат на 20–30% за счёт предсказуемого масштабирования; рост удержания пользователей во время live-событий.

Жауапты тұлғаның ТАӘ

Калмыков Андрей

Ескерту

Требования к решению: стенд нагрузочного тестирования с воспроизведением записанного пикового трафика и сквозной трассировкой (OpenTelemetry/Cloud Trace); перепроектирование конвейера (ключи упорядочивания Pub/Sub по матчу/спортсмену, exactly-once или идемпотентная обработка, DLQ-топики, настройка flow control и ack deadline); многоуровневый fan-out (тематические рассылки FCM, шардирование списков подписчиков, батчинг); автомасштабирование Cloud Run/GKE по backlog с прогревом перед матчами по расписанию; дашборды и алерты по сквозной задержке. Целевые метрики при 30× нагрузке: p95 ≤ 3 с, p99 ≤ 5 с, 0 дублей, 0 нарушений порядка, стоимость на 1 млн уведомлений не выше текущей. Формат взаимодействия: удалённо, итерации по 2 недели, доступ к staging-среде и обезличенным журналам трафика, NDA; результат — код, IaC (Terraform) и документация. Email: [email protected]