24.12 Central

В свежем обновлении мы продолжаем работу над повышением отказоустойчивости и автоматизации Flussonic Central. Улучшения касаются запуска нескольких инстансов в Kubernetes, распределения нагрузки, надежности агентов и оптимизации API. Мы учли ключевые аспекты производительности и безопасности, чтобы ваша система работала стабильно даже при высоких нагрузках.

Рассказываем подробности обо всех изменениях.

Последние шаги для запуска нескольких инстансов Central в Kubernetes

В новой версии мы подготовили почти все необходимое для стабильного запуска нескольких инстансов Central. Напомним, что работа с несколькими инстансами гарантирует отказоустойчивость системы и обеспечивает масштабирование в случае нагрузок: Позволяет автоматически перевести потоки на новый инстанс в случае падения ноды.

  • Решает проблему дублирования данных при переводе потоков с одного стримера на другой.
  • Балансирует нагрузку.
  • Обеспечивает единое управление и настройки системы.

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

Автоматизировали распределение стримов по стримерам с транскодированием

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

Чтобы балансировать транскодирование, Central учитывает поле stats.transcoder для потоков, помеченных как transcoder, и подбирает подходящий стример для захвата потока.

Обеспечили надежность подключения агентов

В вопросах безопасности важна каждая секунда видео. В свежем релизе мы значительно повысили стабильность агентов и свели к минимуму риск разрыва соединения. Это гарантирует запись архива без пропусков и исключает ситуации, когда камера работает, но не передает сигнал.

Описали работу с PGBouncer

Когда внешние приложения делают много параллельных запросов к базе данных, удобно использовать пулер соединений, чтобы не перегружать сервер БД отдельными процессами, которые создает Postgres.

Для этого мы добавили отдельный параметр database_url в API, который позволяет использовать программу PGBouncer и снижать нагрузку на базу данных.

Ускорили получение списка стримов из API

В случае с большим количеством стримов запрос streams_list раньше мог занимать достаточно много времени. В свежем релизе мы изменили логику получения списка стримов и значительно ускорили процесс.

Обновили логику failover-механизма и улучшили health check

Когда стример выходит из строя, его стримы переносятся на работающий сервер. Раньше с возвращением стримера в работу приходилось переносить на него стримы обратно самостоятельно. В версии 24.12 мы изменили логику: после «оживления» стримера его стримы возвращаются автоматически.

Также в новой версии мы расширили параметры health check стримеров. Теперь они дополнительно проверяются на доступность, отсутствие ошибок, корректность конфигурации RProxy. Результат проверки доступен в stats.healthcheck_status.