Масштабируемый хостинг BigBlueButton: от одиночного сервера до интеллектуальных кластеров

Глубокое погружение в инфраструктуру видеоконференций: переход от монолитных серверов к самовосстанавливающимся кластерам высокой доступности.


BigBlueButton зарекомендовал себя как ведущая открытая платформа для виртуальных классов и конференций. Однако по мере роста организаций они неизбежно упираются в "потолок производительности". Вопрос меняется с "Как это установить?" на "Как стабильно обслуживать 2 000 одновременных пользователей?"

Масштабирование BigBlueButton — это не просто добавление вычислительных ресурсов одной машине (вертикальное масштабирование); оно требует фундаментального изменения архитектуры (горизонтальное масштабирование). Ниже мы объясняем три стадии эволюции хостинга.

01

Односерверная конфигурация

В стандартной "монолитной" установке все компоненты находятся на одной физической или виртуальной машине. Это включает HTML5‑клиент, медиасервер Kurento/MediaSoup, Redis и базу данных доски.

Аналогия: небольшое кафе

Представьте один сервер как соседнее кафе с одним бариста. Он отлично справляется с 50–200 посетителями. Обслуживание быстрое и прямое. Но если одновременно попытаются зайти 500 человек, очередь выйдет за дверь, заказы перепутаются, и система замедлится до ползания.

Техническое узкое место: Node.js, на котором работает HTML5‑клиент BigBlueButton, однопоточен. Даже если у вас сервер с 64 ядрами, одна встреча с слишком большим числом пользователей может насытить основной поток, вызвав задержки у всех. Обычно практический предел — 200–300 одновременных пользователей на сервер.
02

Кластер с открытым исходным кодом: Scalelite

Чтобы обойти ограничения одного сервера, сообщество разработало "Scalelite". Scalelite — это балансировщик нагрузки, который находится между вашим фронтендом (Moodle/Greenlight) и пулом серверов BigBlueButton.

Как работает Scalelite

Scalelite опирается на сложный стек, включающий базу данных PostgreSQL для отслеживания встреч и Redis для кэширования. Он периодически опрашивает зарегистрированные серверы, чтобы проверить загрузку CPU и число пользователей. Когда поступает запрос на новую встречу, Scalelite направляет её на наименее загруженный сервер.

  • Горизонтальное масштабирование: Теоретически вы можете добавить в пул бесконечное число серверов.
  • Кошмар с записями: Главная боль Scalelite — управление записями. Поскольку встречи распределены по разным серверам, необходимо настраивать сложные системы общего хранилища (NFS или S3) для агрегации записей. Если сервер выходит из строя до передачи записи, данные часто теряются.
Аналогия: администратор в отеле

Scalelite действует как администратор отеля. Гости подходят к стойке, и администратор назначает им номер (сервер). Однако учёт предметов "lost & found" (записей) из сотен разных номеров превращается в логистическую проблему.

Ограничение: Scalelite изменяет API‑запросы перед их передачей серверам. Это часто нарушает совместимость с отдельными сторонними интеграциями, которые ожидают прямое подключение к стандартному API BigBlueButton.
03
Рекомендуемое решение

Следующий уровень: интеллектуальная балансировка нагрузки bbbserver

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

Решено: сбор записей

Мы полностью устранили проблему "пропавших записей", характерную для стандартных кластеров. Наша система автоматически собирает, обрабатывает и централизует записи со всех узлов без необходимости в хрупких монтированиях NFS. Вы получаете единое надёжное хранилище для всех ваших данных.

24‑часовой цикл переустановки

Со временем серверы BigBlueButton накапливают "цифровую пыль" — временные файлы и утечки памяти. Наш уникальный протокол "Fresh Start" автоматически вычищает серверы и полностью переустанавливает ПО каждые 24 часа. По сути, вы получаете совершенно новый сервер каждый день.

100% совместимость с API

В отличие от Scalelite, который может маскировать функции API, наш интеллектуальный балансировщик обеспечивает 100% сквозную совместимость. Используете ли вы кастомный плагин Moodle, корпоративную LMS или специализированный скрипт — всё будет работать так же, как при подключении к одному серверу.

Самовосстанавливающаяся инфраструктура

Если узел сообщает об ошибке Kurento или задержке аудио, наша система мгновенно изолирует его, переводит в режим обслуживания и разворачивает замену за считанные минуты. Ручное вмешательство не требуется.

Аналогия: самоочищающийся роскошный курорт

Представьте курорт, где после отъезда каждого гостя номер не просто убирают — его полностью обновляют. Консьерж (наш балансировщик нагрузки) также следит, чтобы весь багаж гостей (записи) автоматически доставлялся в главный холл, и ничего не оставалось в номерах.

Частые вопросы о масштабировании

Перезагрузка очищает память (RAM), но не устраняет расхождения в конфигурации, повреждённые временные файлы или обновлённые зависимости пакетов. Полная переустановка гарантирует, что программный стек идентичен нашему "Golden Image", устраняя 99% "случайных" ошибок.

Нет. В отличие от самохостинговых установок Scalelite, где вам нужно управлять монтированием NFS и скриптами передачи, bbbserver берёт на себя весь жизненный цикл. Мы собираем исходные данные, обрабатываем запись и бесшовно предоставляем её вам.

Безусловно. Поскольку наша система на 100% совместима с API, миграция обычно сводится к изменению "Base URL" и "Secret" в вашей LMS или фронтенд‑приложении.

Оцените стабильность "свежего" сервера

Перестаньте беспокоиться о конфигурациях балансировки нагрузки, синхронизации баз данных и конфликтах API. Переключайтесь на bbbserver — управляемую, самовосстанавливающуюся кластерную среду.

Посмотреть планы и цены