Развлечение и спорт
Порталы и сервисы
iOS, Android
Сентябрь 2025
Highload-видеостриминг: Основной инженерный вызов — обработка, хранение и бесперебойная доставка видеоданных.
Мгновенный обмен сообщениями (Real-Time Chats): Интеграция полноценного мессенджера внутри экосистемы коротких видео. Главный вызов — обеспечить мгновенную доставку сообщений (p2p и групповых), статусов переписки и поддержку отправки медиафайлов без создания избыточной нагрузки на основную базу данных и бизнес-логику платформы.
Мультиплатформенный видеоредактор: Интеграция легковесного, но функционального инструмента для редактирования роликов прямо в мобильном и веб-интерфейсе (обрезка таймлайна, наложение текста, фильтры).
Токеномика и геймификация: Реализация внутренней бизнес-логики «Watch-to-Earn» — начисление внутриплатформенной валюты за просмотры, участие в видео-конкурсах и выполнение ежедневных заданий для максимизации метрик вовлечения (Engagement Rate).
Обход гео-ограничений (Уникальная фича): Разработка умного парсера и прокси-инфраструктуры для автоматического импорта и бесшовной загрузки роликов из TikTok на платформу в обход действующих блокировок и ограничений доступа с территории РФ.
Для обеспечения отказоустойчивости видеохостинга при миллионных просмотрах мы спроектировали распределенную микросервисную архитектуру с разделением обязанностей по стеку:
<li>Микросервис чатов (Kotlin + Spring Boot): Архитектура обмена сообщениями вынесена в отдельный высокопроизводительный сервис. Использование Kotlin и реактивного стека Spring Boot (WebFlux / WebSockets) позволило изолировать тяжелую long-polling нагрузку от основного бэкенда. Сервис обеспечивает мгновенную маршрутизацию сообщений, асинхронную обработку статусов «доставлено/прочитано» и индикацию активности собеседника («печатает...»).</li>
<li>Бизнес-логика и социальный граф на Symfony: Модерация диалогов, структура связей пользователей (черные списки, права на отправку сообщений), профили, а также вся экономическая модель геймификации разработаны на фреймворке Symfony.</li>
<li>Шина асинхронных задач на RabbitMQ (RmQ): Процессы транскодирования видео через FFmpeg и отправка push-уведомлений о новых личных сообщениях пользователям, находящимся в офлайне, буферизируются через очереди RabbitMQ. Это защищает систему от пиковых нагрузок в периоды высокой кадровой или сетевой активности.</li>
<li>Кэширование и сессии в Redis: Мгновенный доступ к последним сообщениям в диалогах, временное хранение статусов пользователей, ленты рекомендаций и счетчики просмотров в реальном времени обеспечиваются за счет in-memory СУБД Redis.</li>
<li>Единое ядро интерфейса на Flutter: Мобильные приложения под iOS, Android и веб-версия для Telegram Mini App написаны на Flutter. Мы объединили кастомную логику видеоплеера, редактора и плавный интерфейс чатов в рамках единой кодовой базы.</li>
<li>Панель модерации на Vue 3: Мощная SPA-админка для контроля контента, обработки жалоб пользователей на сообщения/видео и управления конкурсами реализована на Vue 3.</li>
<ul>
<li>Автоматизация наполнения платформы: Интегрированная фича импорта видео из TikTok позволила моментально наполнить платформу JY миллионами единиц качественного контента на старте, решив проблему «пустого холодного старта» новой соцсети.</li>
<li>Готовность к масштабированию: Использование связки Go, Symfony и RabbitMQ гарантирует, что архитектура стриминга легко выдержит кратный рост пользовательской активности без деградации скорости отдачи контента.</li>
</ul>