Skip to main content

Yet another load balancer for BigBlueButton

Project description

BBBLB: BigBlueButton Load Balancer

BBBLB (BigBlueButton Load Balancer) is yet another load balancer for BigBlueButton. It is designed to provide a secure, scalable, and robust way to scale BBB beyond single-server installations, enabling organizations to distribute meetings across many BBB servers or offer managed BBB hosting services on shared hardware.

:warning: BBBLB is not ready for production just yet unless you know how to fix bugs yourself. It works well enough, but APIs and features are not stable yet and upgrades may break things. If you are looking for a reliable solution that just works, better wait for the 1.0 release.

Documentation

Documentation can be found at https://bbblb.readthedocs.io/ or in the ./docs/ folder. This is still a work in progress. Pull requests are very welcomed!

Features

  • Multi-Tenancy: Allow multiple front-end applications or customers to share the same BigBlueButton cluster while keeping their meetings and recordings strictly separated.
  • Advanced Loadbalancing: Meetings are distributed based on current and predicted utilization, taking common usage patterns into account and avoiding the infamous ‘trampling herd’ problem.
  • Recording Management: Recordings are transferred from the BBB servers to central storage via a simple and robust post_publish script. No special configuration, ssh transfers or shared network file system necessary.
  • Callback Relay: Callbacks registered for a meeting are properly relayed between the back-end BBB server and the front-end application with a robust retry-mechanism.
  • Management API: BBBLB offers its own API and command line tool to fetch health information, manage tenants, servers or recordings, or perform maintenance tasks.
  • Easy to deploy: At least easier than most other BigBlueButton Load Balancer implementations.

Architecture

BBBLB acts as a central API gateway, intelligently routing API requests and distributing meetings across a scaleable pool of BigBlueButton instances.

---
config:
  look: handDrawn
  theme: neutral
---
graph TD
    Clients("Clients / Apps
    e.g. Moodle")
    BBBLB["BBBLB (Loadbalancer)"]
    
    subgraph Cluster [BBB Server Pool]
        BBB1[BBB Server 1]
        BBB2[BBB Server 2]
        BBBN[BBB Server N]
    end

    %% Define Flow
    Clients -->|BBB API| BBBLB
    BBBLB -->|BBB API| BBB1
    BBBLB -->|BBB API| BBB2
    BBBLB -->|BBB API| BBBN

Contributing

By contributing to this project, you confirm that you understand and agree to both the Developer Certificate of Origin and the Contributor License Agreement, which can be found in the CONTRIBUTING.md file.

Sponsors

License

BBBLB - BigBlueButton Load Balancer
Copyright (C) 2025  Marcel Hellkamp

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bbblb-0.0.14.tar.gz (183.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bbblb-0.0.14-py3-none-any.whl (87.6 kB view details)

Uploaded Python 3

File details

Details for the file bbblb-0.0.14.tar.gz.

File metadata

  • Download URL: bbblb-0.0.14.tar.gz
  • Upload date:
  • Size: 183.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for bbblb-0.0.14.tar.gz
Algorithm Hash digest
SHA256 409f3fc074504de15b1468ef6c11d09e7571cb2e884649bc8a7a05043a6137e8
MD5 c882d51a46d0e8517eca6759c88537d6
BLAKE2b-256 1e9294fa783d42fba3a3260f09175903b0b593876f8a2e3ab074f30fb7932a5f

See more details on using hashes here.

File details

Details for the file bbblb-0.0.14-py3-none-any.whl.

File metadata

  • Download URL: bbblb-0.0.14-py3-none-any.whl
  • Upload date:
  • Size: 87.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for bbblb-0.0.14-py3-none-any.whl
Algorithm Hash digest
SHA256 018ce2f77bbdd0264715fa771486cb634c6b0e7d70b5f60eed7e57ad147359cc
MD5 69db0790f6ab392781ae14e774c1e599
BLAKE2b-256 f484b43c543cea1bbf117f5bf3145cc37d92ccb111a2264e43a705b80d53d4a5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page