Data flow, load balancing and scaling mechanism in Jitsi

Dear the community of Jitsi,

Thank you for taking your time to read my questions. Currently I want to study the architecture and data flow of Jitsi because I think the Jitsi opensource is really great and I want to implement it for my school project. I have read many documents about Jitsi and install Jitsi but there are still some questions I would like to ask.

  1. According to this single Jitsi-meet server, multiple Jitsi Videobridges architecture:
  • As mentioned in Load balancing jitsi videobridges - #17 by Woodworker_Life (A single conference is running on one of the videobridge-servers only. It does not span across videobridge-servers. When starting a new conference, jicofo decides on which videobridge the conference will be based on statistics of the server.), I can see that if conference A used all the resources of JVB 1 (for eg, 200 people in one conference), the conference will crash even JVB 2, JVB3, JVB4 are not in use?
  • I read that the JVB has already implemented load balancing itslelf. So what is the algorithm for the load balancing between JVBs? Is that when JVB1 nearly runs out of resource then new clients will be channelled to JVB2? Or the clients will be distributed equally between JVBs?
  • If the conference hosts too many peoples and the JVB is already run out of resource, are there any solutions for this problem? Outside the solution that we put the attendee limits in prosody config.

Thank you guys. I really appreciate your support.

Read an existing description like this one..

1 Like

Or you can use settings like:

Or jicofo/reference.conf at 40a9a46a2bc3535460db83049a574629b69dd7b8 · jitsi/jicofo · GitHub
But for those you need OCTO enabled so you can split conference to multiple bridges …

1 Like

Thank you a lot for your help.

I want to ask one more thing. If I want to split conference to multiple bridges, I assume the option will be SplitBridgeSelectionStrategy: Use a separate bridge for each participant, am I right?
So when a participant joins in a conference, the bridge will connect that participant to a less-loaded bridge (there will be 2 JVBs) or is there a different mechanism?

Also supposing that client 1 will be connected to JVB 1, client 2 and client 3 will be connected to JVB 2, will the data flow route be like this between JVBs?