MicrocosmWorksІнновації та архітектура цифрового космосу
Про насКонтакт
MicrocosmWorksІнновації та архітектура цифрового космосу

Надаємо IT-рішення, які мають значення. Ми захоплені технологіями, безпекою та допомогою бізнесу зростати завдяки надійній, інноваційній IT-інфраструктурі.

[email protected]
+91 7011868196
New Delhi, India

Центр зростання AI

AI HubІнновації для стартапівПрискорювач для підприємств

Рішення

Всі рішенняДодатки для здоров'я та фітнесуAI відео платформаРозробка AI агентів

Ресурси

ІнсайтиГалузеві ПосібникиШаблони ВикористанняАрхітектурні ШаблониКейси

Компанія

Про НасКонтактНаша Робота

Послуги

Цифровий КонсалтингХмарна ІнфраструктураРозробка SaaSРозробка AIВідео Технології
Розробка ERPНалаштування ZohoРозробка OdooІнтеграція SalesforceРозробка Користувацьких CRM
Інтеграція QuickBooksРішення IoTРозробка Блокчейну
Консалтинг з КібербезпекиІТ Підтримка - L3

© 2026 MicrocosmWorks. Усі права захищено.

Політика КонфіденційностіУмови Обслуговування
Назад до Кейсів
AI SurveillanceОпубліковано June 22, 2026 · Оновлено June 22, 2026

Автоматично масштабована архітектура потокового передавання RTSP з подвійними оркестраторами та нульовою втратою пакетів

Платформа спостереження потребувала динамічного масштабування своєї інфраструктури потокового відео — обробляючи від 10 до 200+ IP-камер із сотнями одночасних глядачів та AI-воркерів для обробки — гарантуючи нульову втрату пакетів під час операцій масштабування та підтримуючи стабільні URL-адреси потоків, які ніколи не змінюються.

Обговоріть Ваш Проєкт
rtsp-streaming-autoscale-mediamtx.webp
AI Surveillance
Domain
11
Technologies
6
Key Results
Delivered
Status

Виклик

Фіксована інфраструктура потокового передавання не могла впоратися зі змінними вимогами зростаючої платформи спостереження:

  • Змінність масштабу — Кількість камер і попит глядачів різко змінювалися протягом дня (співвідношення піку до мінімуму 10x)
  • Витрати на надмірне резервування — Резервування для пікового навантаження означало 70%+ простоюючих ресурсів у непікові години
  • Втрата пакетів під час масштабування — Додавання або видалення потокових серверів спричиняло переривання потоку, втрачаючи кадри для AI-воркерів для обробки
  • Нестабільність URL-адрес — Камери та глядачі, налаштовані на певні IP-адреси серверів, потребували переналаштування при зміні інфраструктури
  • Різні потреби в масштабуванні — Прийом камер і розподіл для глядачів мали принципово різні схеми навантаження, що вимагало незалежного масштабування
  • Переривання роботи AI-воркерів — Конвеєри обробки AI виходили з ладу, коли їхній вихідний потоковий сервер зменшував масштаб

Наше Рішення

Ми розробили автоматично масштабовану архітектуру потокового передавання з подвійними оркестраторами з окремими кластерами прийому (ingestion) та розподілу (distribution), 5-фазне плавне вимкнення для нульової втрати пакетів, стабільні URL-адреси на основі DNS та автоматичне перепідключення AI-воркерів.

Архітектура

  • Сервер потокового передавання: MediaMTX для підтримки протоколів RTSP/WebRTC/HLS
  • Кластер прийому: 1-10 серверів, що приймають RTSP-потоки з камер
  • Кластер розподілу: 2-20 серверів, що обслуговують глядачів (WebRTC/HLS) та AI-воркерів (RTSP)
  • Подвійні оркестратори: Незалежні контролери масштабування для прийому та розподілу
  • Балансувальники навантаження: Окремі балансувальники навантаження для кожного кластера з алгоритмами, відповідними протоколу
  • Реєстр сервісів: Redis для статусу серверів, відображень потоків та координації
  • Моніторинг працездатності: Активні перевірки працездатності з автоматичним відновленням
  • Рівень DNS: Стабільні доменні імена, що вказують на балансувальники навантаження (URL-адреси ніколи не змінюються)

Дизайн подвійного оркестратора

Чому два оркестратори

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

  • Прийом масштабується відповідно до кількості камер та вхідної пропускної здатності (передбачувано, зростає стабільно)
  • Розподіл масштабується відповідно до кількості глядачів та попиту AI-воркерів (періодичний, непередбачуваний)

Окремі оркестратори дозволяють кожному масштабуватися незалежно зі спеціалізованими політиками, метриками та порогами — без того, щоб рішення щодо масштабування одного кластера впливали на інший.

Оркестратор прийому

  • Основна метрика: Підключення камер на сервер
  • Допоміжна метрика: Використання вхідної пропускної здатності
  • Масштабування вгору: Коли CPU перевищує поріг або кількість камер на сервер перевищує місткість
  • Масштабування вниз: Коли використання падає нижче порогу протягом тривалого періоду стабілізації
  • Діапазон серверів: від 1 до 10 серверів

Оркестратор розподілу

  • Основна метрика: Підключення глядачів + AI-воркерів на сервер
  • Допоміжна метрика: Використання вихідної пропускної здатності
  • Масштабування вгору: Коли CPU перевищує поріг або кількість підключень на сервер перевищує місткість
  • Масштабування вниз: Коли використання падає нижче порогу протягом тривалого періоду (довша стабілізація, ніж для прийому)
  • Діапазон серверів: від 2 до 20 серверів (мінімум 2 для високої доступності)

Нульова втрата пакетів: 5-фазне плавне вимкнення

Коли сервер розподілу заплановано до видалення, 5-фазний процес забезпечує відсутність втрати кадрів:

Фаза 1: Попереднє сповіщення

Сервер позначається як "DRAINING" (осушується) у реєстрі сервісів. Вага балансувальника навантаження зменшується, щоб нові підключення прямували до інших місць. Redis pub/sub сповіщення та вебхуки попереджають AI-воркерів про підготовку до міграції.

Фаза 2: Оновлення балансувальника навантаження

Сервер видаляється з пулу бекендів балансувальника навантаження. Нові підключення не можуть дістатися до сервера, що осушується. Існуючі підключення продовжуються без перерви.

Фаза 3: Міграція AI-воркерів

AI-воркери відключаються від сервера, що осушується, і перепідключаються до справних серверів розподілу. Збереження стану на основі контрольних точок забезпечує відновлення обробки з точного кадру, на якому вона зупинилася. Загальна затримка: приблизно 3 секунди з нульовою втратою кадрів.

Фаза 4: Осушення глядачів

Залишкові підключення глядачів природним чином осушуються протягом настроюваного періоду. Сучасні відеоплеєри автоматично перепідключаються до тієї ж стабільної URL-адреси, яка перенаправляє на справні сервери. Більшість глядачів не відчувають перерв.

Фаза 5: Очищення

Перевірити, що всі підключення закрито. Видалити сервер з реєстру сервісів. Знищити хмарний екземпляр. Записати метрики масштабування.

Стабільні URL-адреси

Архітектура URL-адрес гарантує, що камери та клієнти ніколи не потребуватимуть переналаштування:

  • Ціль публікації камери: Стабільне доменне ім'я для прийому
  • Ціль доступу для глядачів/AI: Стабільне доменне ім'я для розподілу
  • DNS-записи вказують на IP-адреси балансувальників навантаження (які є постійними)
  • Балансувальники навантаження прозоро обробляють маршрутизацію до бекенд-серверів
  • Бекенд-сервери можуть бути додані, видалені або замінені без зміни URL-адрес

Реєстр сервісів (Redis)

Централізований екземпляр Redis координує всю систему:

  • Відстеження стану сервера (активний, осушується, офлайн)
  • Відображення потоку до сервера (яка камера на якому сервері прийому)
  • Стан AI-воркера та дані контрольних точок
  • Метрики навантаження на сервер для прийняття рішень щодо масштабування
  • Pub/sub канали для подій координації в реальному часі

Перепідключення AI-клієнта

Бібліотека AI-клієнта забезпечує безшовне перепідключення:

  • Слухає сповіщення про видалення сервера через Redis pub/sub
  • Автоматичне збереження контрольних точок кадрів через регулярні інтервали
  • Перепідключення до справного сервера розподілу за сповіщенням
  • Відновлення обробки з контрольної точки з мінімальною затримкою
  • Звітування метрик про події перепідключення

Моніторинг працездатності

  • Активні перевірки працездатності на кожному сервері через регулярні інтервали
  • Автоматичні оновлення балансувальника навантаження при відмовах серверів
  • Тригери автоматичного відновлення для невідповідних серверів
  • Відстеження часу безперебійної роботи та звітність про доступність

Ключові особливості

  1. Подвійні оркестратори — Незалежне масштабування для кластерів прийому та розподілу
  2. Нульова втрата пакетів — 5-фазне плавне вимкнення з міграцією AI-воркерів
  3. Стабільні URL-адреси — Маршрутизація на основі DNS гарантує, що URL-адреси ніколи не змінюються під час масштабування
  4. Перепідключення AI-воркерів — Міграція на основі контрольних точок з розривом ~3 секунди та нульовою втратою кадрів
  5. Незалежне масштабування — Прийом та розподіл масштабуються на основі власних метрик
  6. Реєстр сервісів — Координація на основі Redis для статусу сервера та відображень потоків
  7. Моніторинг працездатності — Активні перевірки з автоматичним відновленням
  8. Оптимізація витрат — Автоматичне зменшення масштабу в періоди низького попиту

Результати

Втрата пакетів: 0.00% для AI-воркерів під час операцій масштабування
Перепідключення AI: ~3 секунди з відновленням на основі контрольних точок
Час масштабування вгору: ~60 секунд від спрацьовування до обслуговування

Технологічний Стек

MediaMTXPythonFastAPIRedisDockerCloud VM APIsLoad BalancersDNSPrometheusGrafanaWebSocket

caseStudyDetail.more Кейси

Ознайомтесь з іншими нашими технічними впровадженнями

AI Accounting

Обробка рахунків-фактур за допомогою AI, OCR та інтеграції з QuickBooks

Середній бізнес, який щомісяця обробляє сотні рахунків-фактур від постачальників, потребував усунення ручного введення даних шляхом автоматичного вилучення даних рахунків-фактур за допомогою AI/OCR та їх прямої синхронізації з QuickBooks для ведення бухгалтерського обліку та відстеження платежів.

Читати Кейс
Video Encoding

Вставка реклами на стороні клієнта (CSAI) з парсингом маркерів SCTE-35 та інтеграцією багатоплатформного плеєра

Платформа потокового відео потребувала впровадження вставки реклами на стороні клієнта (CSAI) для веб-, мобільних програм та програм для підключених телевізорів — що забезпечує персоналізований рекламний досвід на рівні пристрою з повною підтримкою взаємодії з рекламою (натискні оверлеї, супутні банери, кнопки пропуску), який не може забезпечити вставка на стороні сервера.

Готові Трансформувати Свій Бізнес?

Давайте обговоримо, як ми можемо застосувати подібні рішення для ваших завдань.

Зв'язатися з НамиcaseStudyDetail.viewAllCaseStudies
Час масштабування вниз: ~220 секунд з повним плавним вимкненням
Стабільність URL-адрес: 100% — без змін URL-адрес під час будь-яких подій масштабування
Час безперебійної роботи: 99.95% доступності системи
Читати Кейс
Web Scraping

Платформа для скрапінгу та генерації контенту блогів на базі AI

Медіакомпанії була потрібна інтелектуальна контент-платформа, яка могла б автоматизувати створення контенту для блогів шляхом скрапінгу наявного веб-контенту, його аналізу за допомогою AI та генерації оригінальних, SEO-оптимізованих дописів у блогах з видобутих даних.

Читати Кейс

Часті запитання

MicrocosmWorks реалізувала активно-активний дизайн подвійного оркестратора, де обидва оркестратори підтримують синхронізований стан щодо призначень потоків і стану воркерів, з автоматичним failover'ом, який передає керування потоками оркестратору, що вижив, протягом секунд у разі відмови одного. Це усуває єдину точку відмови, від якої страждають традиційні дизайни з одним оркестратором, забезпечуючи нульову втрату пакетів під час обслуговування оркестратора або несподіваних збоїв.

MicrocosmWorks розробила механізм плавного вивільнення ресурсів, де воркери, що виводяться з експлуатації, продовжують обслуговувати призначені їм потоки, доки всі з'єднання не будуть чисто мігровані до нових воркерів за допомогою послідовностей RTSP TEARDOWN та re-SETUP. Нові воркери повністю ініціалізуються та проходять перевірку стану перед тим, як отримати призначення потоків, і перехід використовує перекриваючі вікна, де як старі, так і нові воркери короткочасно обслуговують один і той же потік, щоб запобігти будь-яким перебоям.

MicrocosmWorks обрала MediaMTX для цього проєкту, тому що він легкий, з відкритим вихідним кодом і розроблений спеціально для RTSP ре-стрімінгу з мінімальним навантаженням на ресурси на кожен потік порівняно з повнофункціональними медіасерверами. Він підтримує динамічне створення потоків через API, ефективно працює в контейнерах для auto-scaling на основі Kubernetes, і дозволяє уникнути витрат на ліцензування за кожен потік, які притаманні комерційним альтернативам, таким як Wowza, що можуть стати надмірними при масштабуванні.

MicrocosmWorks розгорнула комплексний стек спостережуваності, який відстежує метрики для кожного потоку, включаючи швидкість втрати пакетів, джитер, кількість перепідключень та наскрізну затримку, з оповіщеннями, які спрацьовують до того, як деградація стане помітною для кінцевих користувачів. Система моніторингу також відстежує метрики прийняття рішень оркестратором, такі як події масштабування, тривалість міграції потоків та тенденції використання воркерів, щоб забезпечити проактивне планування потужностей.

Так, MicrocosmWorks розробила робочі вузли для підтримки паралельного RTSP виведення для живих глядачів та сегментованого запису в об'єктне сховище, з незалежним розподілом ресурсів для кожного робочого навантаження. Запис використовує окремий шлях запису, який буферизує сегменти локально перед завантаженням, тому піки I/O сховища ніколи не впливають на доставку живого потоку, а auto-scaler враховує загальний попит на ресурси обох робочих навантажень при прийнятті рішень щодо масштабування.