Schaalbare BigBlueButton-hosting uitgelegd: van een enkele server tot intelligente clusters

Een diepgaande verkenning van videoconferentie-infrastructuur: inzicht in de verschuiving van monolithische servers naar zelfherstellende clusters met hoge beschikbaarheid.


BigBlueButton heeft zich gevestigd als de toonaangevende open-sourceoplossing voor virtuele klaslokalen en conferenties. Naarmate organisaties groeien, stuiten ze onvermijdelijk op een "prestatiegrens". De vraag verschuift van "Hoe installeer ik het?" naar "Hoe host ik stabiel 2.000 gelijktijdige gebruikers?"

Het schalen van BigBlueButton draait niet alleen om het toevoegen van meer CPU-vermogen aan één machine (verticale schaalvergroting); het vereist een fundamentele wijziging in de architectuur (horizontale schaalvergroting). Hieronder leggen we de drie fasen van hostingevolutie uit.

01

De single-serveropstelling

In een standaard "monolithische" installatie bevindt elke component zich op één fysieke of virtuele machine. Dit omvat de HTML5-client, de Kurento/MediaSoup-mediaserver, Redis en de whiteboarddatabase.

De analogie: een klein café

Denk aan een enkele server als een buurtcafé met één barista. Het werkt perfect voor 50 tot 200 klanten. De bediening is snel en direct. Maar als 500 mensen tegelijk binnenkomen, staat de rij tot buiten, raken bestellingen door elkaar en komt het systeem bijna tot stilstand.

Technisch knelpunt: Node.js, dat de BigBlueButton HTML5-client aandrijft, is single-threaded. Zelfs met een 64-core server kan één vergadering met te veel gebruikers de hoofdthread verzadigen, waardoor iedereen vertraging ervaart. Meestal ligt de praktische limiet op 200–300 gelijktijdige gebruikers per server.
02

Het open-sourcecluster: Scalelite

Om de single-serverlimiet te omzeilen, ontwikkelde de community "Scalelite". Scalelite is een load balancer die tussen uw frontend (Moodle/Greenlight) en een pool van BigBlueButton-servers zit.

Hoe Scalelite werkt

Scalelite steunt op een complexe stack met onder meer een PostgreSQL-database om vergaderingen bij te houden en Redis voor caching. Het bevraagt periodiek de geregistreerde servers om hun CPU-belasting en gebruikersaantal te controleren. Wanneer er een nieuw vergaderverzoek binnenkomt, stuurt Scalelite het naar de minst belaste server.

  • Horizontale schaalvergroting: U kunt in theorie een oneindig aantal servers aan de pool toevoegen.
  • De nachtmerrie rond opnames: Een groot pijnpunt bij Scalelite is het beheer van opnames. Omdat vergaderingen over verschillende servers zijn verspreid, moet u complexe gedeelde opslagsystemen (NFS of S3) opzetten om opnames te verzamelen. Valt een server uit voordat de opname is overgezet, dan gaan de gegevens vaak verloren.
De analogie: de hotelreceptionist

Scalelite gedraagt zich als een hotelreceptionist. Gasten komen aan bij de balie en de receptionist wijst hun een kamer (server) toe. Maar het bijhouden van "gevonden voorwerpen" (opnames) uit honderden verschillende kamers wordt een logistieke worsteling.

De beperking: Scalelite wijzigt API-verzoeken voordat ze naar de servers worden doorgestuurd. Dit verbreekt vaak de compatibiliteit met specifieke integraties van derden die een directe verbinding met een standaard BigBlueButton-API verwachten.
03
Aanbevolen oplossing

Het volgende niveau: bbbserver Intelligent Balancing

Bij bbbserver hebben we de beperkingen van standaard Scalelite-opstellingen onderkend. We hebben een eigen load-balancingarchitectuur gebouwd die is ontworpen voor maximale stabiliteit, hygiëne en transparantie.

Opgelost: verzamelen van opnames

We hebben het probleem van "ontbrekende opnames" in standaardclusters volledig geëlimineerd. Ons systeem verzamelt, verwerkt en centraliseert opnames automatisch van alle nodes, zonder kwetsbare NFS-koppelingen. U krijgt één enkele, betrouwbare opslagplaats voor al uw gegevens.

De 24-uurs herinstallatiecyclus

BigBlueButton-servers verzamelen in de loop van de tijd "digitale stof"—tijdelijke bestanden en geheugenlekken. Ons unieke "Fresh Start"-protocol leegt servers automatisch en herinstalleert de software elke 24 uur volledig. U krijgt in feite elke dag een gloednieuwe server.

100% API-compatibiliteit

In tegenstelling tot Scalelite, dat API-functies kan maskeren, biedt onze intelligente balancer 100% pass-throughcompatibiliteit. Of u nu een aangepaste Moodle-plug-in, een bedrijfs-LMS of een gespecialiseerd script gebruikt, het werkt precies alsof het met één enkele server is verbonden.

Zelfherstellende infrastructuur

Als een node een Kurento-fout of audiovertraging meldt, isoleert ons systeem deze direct, zet hem in onderhoudsmodus en start binnen enkele minuten een vervanging op. Geen handmatige tussenkomst vereist.

De analogie: het zelfreinigende luxeresort

Stel je een resort voor waar, nadat elke gast vertrekt, de kamer niet alleen wordt schoongemaakt—maar volledig wordt gerenoveerd. De conciërge (onze Load Balancer) zorgt er ook voor dat alle bagage van gasten (opnames) automatisch naar de centrale lobby wordt vervoerd, zodat er nooit iets in de kamers achterblijft.

Veelgestelde vragen over opschalen

Een herstart wist het geheugen (RAM), maar verhelpt geen configuratieafwijkingen, beschadigde tijdelijke bestanden of bijgewerkte pakketafhankelijkheden. Een volledige herinstallatie zorgt ervoor dat de softwarestack identiek is aan ons "Golden Image", waarmee 99% van de "willekeurige" bugs wordt geëlimineerd.

Nee. In tegenstelling tot zelfgehoste Scalelite-opstellingen waarbij je NFS-koppelingen en transferscripts moet beheren, verzorgt bbbserver de volledige levenscyclus. We verzamelen de ruwe gegevens, verwerken de opname en leveren die naadloos aan je aan.

Absoluut. Omdat ons systeem 100% API-compatibel is, is migratie doorgaans zo eenvoudig als het wijzigen van de "Base URL" en "Secret" in je LMS of frontend-applicatie.

Ervaar de stabiliteit van een "verse" server

Stop met je zorgen maken over load-balancingconfiguraties, databasesynchronisatie en API-conflicten. Stap over op bbbserver voor een beheerde, zelfherstellende clusteromgeving.

Bekijk plannen en prijzen