We are having heavy usage of our Jitsi Meet instance (like many others!). So we were setting up a second bridge. It is registered correctly as component, but Jicofo does not distribute the load. One jvb has CPU load 20, the other 0,1. Stats arrive.
Jicofo switches bridges only, if one fails, like here:
Jicofo 2020-03-27 10:16:31.365 SEVERE: [124] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() One of our bridges failed: media.myjitsi.com
Jicofo 2020-03-27 10:16:31.365 INFO: [124] org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Region info, conference=ffa619 octo_enabled= false : [[null, null]]
When firing up the failed bridge, it will get again all new conferences, as I assume it is the first component in the list. The second bridge does not get new conferences.
So where is the load balancing defined in jicofo? Is there any option we have overseen? I know that jvb2 uses MUC now, but I am sure that the stable version also should do some load balancing.
Current algorithm is based on number of conferences only.
So when one bridge fails, it seems to start over counting conferences and gets assigned all new conferences until it reached the score of the other one:
Reading the BridgeSelector code, it seems that always the first operational bridge in a region is chosen. There is no filter on CPU load or number of conferences on a bridge.
SOLUTION:
Replaced a setting in jicofo config as shown in the tutorial video with the one in the documentation:
the solution did not work for me when configuring the additional bridge-servers via MUC
i get this error in the jicofo log:
WARNUNG: [30] org.jitsi.jicofo.bridge.BridgeSelector.log() No pub-sub node mapped for jvbbrewery@internal.auth.mydomain.tld/jvb2
if it is not subscribed, it cannot load balance, or?