РБК Компании
Главная RedLab 3 февраля 2025

Как разработать CDN-платформу для видеосервиса

ИТ-компания RedLab приняла участие в реализации проекта по созданию географически распределенной сетевой инфраструктуры
Как разработать CDN-платформу для видеосервиса
Источник изображения: Freepik.com
Задача и причина

Задача:

Спроектировать CDN-платформу.

Причина:

Доставка контента осуществлялась напрямую с исходных серверов — требовалось создать геораспределенную сетевую структуру. 

О проекте

Бизнес разрабатывает ПО с открытым исходным кодом для высокопроизводительной доставки веб-контента и расширенной защиты от DDoS-атак. Среди ИТ-продуктов: балансировщик нагрузки, веб-ускоритель, брандмауэр веб-приложений и др. Все решения реализованы в ядре Linux и используют традиционные управляемые событиями сокеты в kernel-space и sk_buff буфере.

Core-продукт клиента был внедрен в американский видеосервис, входящий в цифровую экосистему. В плеере доступен просмотр роликов из социальной сети, интернет-шоу и прямых трансляций. 

К моменту обращения сеть не направляла запросы зрителей на ближайший сервер. DevOps инженерам, Python- и С/С++ разработчикам RedLab было необходимо с нуля спроектировать CDN-платформу (Content Delivery Network), которая обеспечит быструю и стабильную доставку медиа в разные точки планеты.

При постановке технического задания заказчик сформулировал ряд требований к решению:

  • Ускоренное отображение статического и динамического контента.
  • Быстрая загрузка страниц в видеоплеере.
  • Бесперебойная работа во время пиковых нагрузок на трафик.
  • Обработка сложных алгоритмов с использованием библиотеки для математической оптимизации.

Реализация

Технологический стек:

  • Python
  • REST API
  • FastAPI
  • Ansible
  • Kafka

Видеосервер был написан на языке программирования С и при пиковой нагрузке обслуживал до 1,5 млн соединений, поэтому сначала эксперты RedLab глубоко изучили используемые технологии, далее — приступили к разработке CDN-платформы:

  • Работали в модуле ядра Linux, не используя User-space. Отсутствие необходимости передачи аргументов и промежуточных слоев привело к значительному повышению скорости работы программы.
  • Внедрили фреймворки и библиотеки Python, которые помогли улучшить работу различных адаптивных алгоритмов.
  • Создали автоматически развертываемые ноды сети, которые можно централизованно администрировать через REST API на FastAPI.
  • Использовали скрипты на Ansible для развертывания, конфигурации нод и постройки маршрутизации.
  • Внедрили Kafka для взаимодействия между нодами, обновления BGP маршрутов и связи с управляющими backend-компонентами.
  • Написали документацию и провели тестирование ПО с учетом особых требований к надежности и отказоустойчивости системы.
  • Спроектировали панель администраторов, панель менеджеров и бизнес-дашборды.
Результат

За 8 месяцев команда RedLab создала CDN-платформу, благодаря которой видео стартуют в среднем в 1,5 раза быстрее вне зависимости от географического положения аудитории. Теперь пользователь, который запрашивает страницу с контентом, переадресовывается к ближайшему пограничному узлу.

Интересное:

Новости отрасли:

Все новости:

Профиль

Дата регистрации20.03.2019
Уставной капитал20 000,00 ₽
Юридический адрес обл. Ульяновская, г. Ульяновск, ул. Карла Либкнехта, д. 24/5а, стр. 1, офис 44
ОГРН 1197325005680
ИНН / КПП 7325164903 732501001

Контакты

Социальные сети

ГлавноеЭкспертыДобавить
новость
КейсыМероприятия