Jitsi Meet (Jicofo + JVB + Prosody) High Availability and Load Balance

Hi all,

I’m succesfully experimenting with Jitsi meet in my company. I would like to know more about HA and loadbalancing of Jitsi Meet. I’ve seen that it is possible to scale and run multiple istances of JVB over multiple machines. I Would like to know if currently it is possible to replicate also the other components (Jicofo and Prosody) to obtain a full HA solution without a single point of failure, where every component is replicated. Is it possible to do so? Is there any documentation available?

Thanks in advance

Yes this is possible, this is how meet.jit.si is running right now in 6 or 7 regions in the world.
Take a look at https://jitsi.org/tutorials/

Thanks very Much, I’ve seen them. So, In the end I would like to achieve something like these, which is both Load balancing and HA:


Two complete Jitsi server with every component with the possibility, for each prosody, to balance on the self JVB and the other one.
My question is: how do I configure prosody and Jicofo for clustering? I did not find any docs on how to do that, only for the JVB.
And how do I configure the apache reverse proxy in front of the jitsi server for load balancing and/or HA failover?
Thanks in advance

There is no such thing as clustering. So one conference should happen on the same shard (shard is nginx(jitsi-meet) + prosody + jicofo and the available jvbs), every http request has a parameter room=roomName which is the rule for load balancing so every http requests for the same room will land on the same shard. This is how you need to configure HAProxy.
You also need to implement a monitor which monitors the shard whether its healthy and once it is detected as unhealthy it is removed from the pool of healthy shards in HAProxy.
The user experience will be that the participants will see a reload screen and in few seconds they will land on the new shard with the same room name.
This is how it works today.

Thanks for your reply. So each “shard” is aware of the others? How can I configure each of it?

What do you mean by this? Only HAProxy is aware of all the shards and if you are using octo jvb instance from other shards can be connected to this one.