EmitLab
Платформа коротких видео с элементами соцсети
EmitLab
#Разработка сайтов под ключ#Приложение под ключ

Платформа коротких видео с элементами соцсети

47 
EmitLab Россия, Краснодар
Поделиться: 0 0 0
Платформа коротких видео с элементами соцсети
Сфера

Развлечение и спорт

Тип сайта

Порталы и сервисы

Мобильная платформа

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>


Стек технологий


Оцените кейс
Спасибо за оценку
Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

EmitLab с удовольствием обсудит вашу задачу

Оставить заявку