[jitsi-users] Jitsi cluster and high availability


#1

Hi.
Having just been able to successfully install and test Jitsi with Prosody, JVB and Jicofo. I am trying to expand my horizons and think about clustering, HA etc. I have a few questions.
- Are there any ideas, documentation or support around making Jitsi and all of it's components clustered and highly available? - Is there any architecture diagram for Jitsi and how it interacts with other components? - I have read the names of various components like Prosody, Openfire, ejabberd, Jicofo, Jigasi and a lot of Jitsi components. Is there any use cases that I can read up on involving these components?- I was of the opinion that the the video/audio conference - once established after using SIP, is more P2P and doesn't involve the server because of using WebRTC? Is there a flow diagram of a conference call that I can read for Jitsi (and it's components)- How would one go about adding resilience in the jitsi architecture to manage conference if A particular server goes down?- I would also like to know about how to setup a one-one video calling over webrtc in jitsi-meet (NOT a video conference via 'room links' but kind of like skype call but over webrtc). If that's possible, how would jitsi handle, server disruption (initiating server disappears, develops a problem or goes down) in a HA scenario.
Thank you.


#2

Hi,

Hi.

Having just been able to successfully install and test Jitsi with Prosody, JVB and Jicofo. I am trying to expand my horizons and think about clustering, HA etc. I have a few questions.
- Are there any ideas, documentation or support around making Jitsi and all of it's components clustered and highly available?

you can run multiple jitsi videobridges which provide a Videobridge HA and load balancing. I m' not sure HA for signaling (JICOFO and Prosody) is ready yet.
https://github.com/jitsi/jicofo/blob/master/doc/load_balancing.md

- Is there any architecture diagram for Jitsi and how it interacts with other components?

https://tnc15.terena.org/getfile/2797 could be a good start :wink:

- I have read the names of various components like Prosody, Openfire, ejabberd, Jicofo, Jigasi and a lot of Jitsi components. Is there any use cases that I can read up on involving these components?
- I was of the opinion that the the video/audio conference - once established after using SIP, is more P2P and doesn't involve the server because of using WebRTC? Is there a flow diagram of a conference call that I can read for Jitsi (and it's components)

WebRTC servers are used to hold on signaling. P2P regards media ( Videobridge <--> Browser), and JVB is required to scale the number participants in a conference.

- How would one go about adding resilience in the jitsi architecture to manage conference if A particular server goes down?

JICOFO should be able to address only running videobridges.

Regards
Franck

···

Le 13/07/2015 11:15, Andy A a écrit :


#3

HI Franck.
Thanks for the notes on load-balancing JVB, very insightful and will definitely come in handy. I have searched a bit on Prosody considering HA, Failover or Clustering. I think it should at least be possible to do failover for Prosody using VRRP (keepalived, heartbeat etc.) Any thoughts?
Only piece that now remains is the Jicofo. Any suggestions or advice around that, because looks like Jicofo might turn out to be SPOF.
Also, thank you so much for the link to your paper, it was a great read. Just like the shibboleth flow, is there a flow for Jitsi-meet with JVB, Jicofo and Prosody that I can read up on? Because, I didn't quite understand the following statement of yoursWebRTC servers are used to hold on signaling. P2P regards media ( Videobridge <--> Browser), and JVB is required to scale the number participants in a conference.
Thanks

···

Date: Mon, 13 Jul 2015 14:27:14 +0200
From: franck.rupin@renater.fr
To: users@jitsi.org
Subject: Re: [jitsi-users] Jitsi cluster and high availability

    Hi,

    Le 13/07/2015 11:15, Andy A a écrit :

      Hi.
        
        Having just been able to successfully install and
          test Jitsi with Prosody, JVB and Jicofo. I am trying to expand
          my horizons and think about clustering, HA etc. I have a few
          questions.

          - Are there any ideas, documentation or support around
            making Jitsi and all of it's components clustered and highly
            available?

    you can run multiple jitsi videobridges which provide a Videobridge
    HA and load balancing. I m' not sure HA for signaling (JICOFO and
    Prosody) is ready yet.

    https://github.com/jitsi/jicofo/blob/master/doc/load_balancing.md

        - Is there any architecture
            diagram for Jitsi and how it interacts with other
            components?

    https://tnc15.terena.org/getfile/2797 could be a good start :wink:

        - I have read the names of various components like Prosody,
          Openfire, ejabberd, Jicofo, Jigasi and a lot of Jitsi
          components. Is there any use cases that I can read up on
          involving these components?
        - I was of the opinion that
            the the video/audio conference - once established after
            using SIP, is more P2P and doesn't involve the server
            because of using WebRTC? Is there a flow diagram of a
            conference call that I can read for Jitsi (and it's
            components)
      
    WebRTC servers are used to hold on signaling. P2P regards media (
    Videobridge <--> Browser), and JVB is required to scale the
    number participants in a conference.

        - How would one go about adding resilience in the jitsi
          architecture to manage conference if A particular server goes
          down?
      
    JICOFO should be able to address only running videobridges.

    Regards

    Franck

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#4

Hi Andy,

for HA based on infrastructure I am more focused on IaaS features because I try to address a service in cloud context. But I think your approach (VRRP/Heartbeat) make sense.

You're right JICOFO is a SPOF and JITSI-Meet as well. I think it's more complex to base JICOFO HA over Infrastructure.

Nevertheless one point I explore (for both Prosody/Jicofo) is deployment of Consul.io over an Out-Of-Band management Network (VPN) which could detect service failure. And with such system it's pretty easy to detect and react by automation to a failure (Scripts/API)

The best way would be such a HA/LB implementation into JICOFO, and I'm optimist for the future regarding the amazing work Jitsi Team have already done.

Regarding your last point, the webRTC model defines a trapezoid ( https://www.ietf.org/id/draft-ietf-rtcweb-overview-14.txt ) With Jitsi Your browser is in p2p with the videobridge(Media path).
Service signaling Is provided by Jicofo which relays it between your browser and videobridge. Signaling is required to manage the media during your conference it involves many protocols: jingle/colibri/SDP/ICE candidate...
The transport in Jitsi is not websocket but BOSH.
+-----------+ +-----------+
                > Web | | Web |
                > > Signaling | |
                > >-------------| |
                > Server | path | Server |
                > > > >
                +-----------+ +-----------+
                     / \
                    / \ Application-defined
                   / \ over
                  / \ HTTP/Websockets
                 / Application-defined over \
                / HTTP/Websockets \
               / \
         +-----------+ +-----------+
         >JS/HTML/CSS| |JS/HTML/CSS|
         +-----------+ +-----------+
         +-----------+ +-----------+
         > > > >
         > > > >
         > Browser | ------------------------- | Browser |
         > > Media path | |
         > > > >
         +-----------+ +-----------+

                      Figure 2: Browser RTC Trapezoid
Hope it could help.

Regards
Franck

----- Mail original -----

···

De: "Andy A" <andthereitgoes@hotmail.com>
À: "Jitsi Users" <users@jitsi.org>
Envoyé: Lundi 13 Juillet 2015 17:31:07
Objet: Re: [jitsi-users] Jitsi cluster and high availability

HI Franck.

Thanks for the notes on load-balancing JVB, very insightful and will definitely come in handy. I have searched a bit on Prosody considering HA, Failover or Clustering. I think it should at least be possible to do failover for Prosody using VRRP (keepalived, heartbeat etc.) Any thoughts?

Only piece that now remains is the Jicofo. Any suggestions or advice around that, because looks like Jicofo might turn out to be SPOF.

Also, thank you so much for the link to your paper, it was a great read. Just like the shibboleth flow, is there a flow for Jitsi-meet with JVB, Jicofo and Prosody that I can read up on? Because, I didn't quite understand the following statement of yours
WebRTC servers are used to hold on signaling. P2P regards media ( Videobridge <--> Browser), and JVB is required to scale the number participants in a conference.

Thanks

Date: Mon, 13 Jul 2015 14:27:14 +0200
From: franck.rupin@renater.fr
To: users@jitsi.org
Subject: Re: [jitsi-users] Jitsi cluster and high availability

Hi,

Le 13/07/2015 11:15, Andy A a écrit :

Hi.

Having just been able to successfully install and test Jitsi with Prosody, JVB and Jicofo. I am trying to expand my horizons and think about clustering, HA etc. I have a few questions.
- Are there any ideas, documentation or support around making Jitsi and all of it's components clustered and highly available?

you can run multiple jitsi videobridges which provide a Videobridge HA and load balancing. I m' not sure HA for signaling (JICOFO and Prosody) is ready yet.
https://github.com/jitsi/jicofo/blob/master/doc/load_balancing.md

<blockquote>

- Is there any architecture diagram for Jitsi and how it interacts with other components?

</blockquote>
https://tnc15.terena.org/getfile/2797 could be a good start :wink:

<blockquote>

- I have read the names of various components like Prosody, Openfire, ejabberd, Jicofo, Jigasi and a lot of Jitsi components. Is there any use cases that I can read up on involving these components?
- I was of the opinion that the the video/audio conference - once established after using SIP, is more P2P and doesn't involve the server because of using WebRTC? Is there a flow diagram of a conference call that I can read for Jitsi (and it's components)

</blockquote>
WebRTC servers are used to hold on signaling. P2P regards media ( Videobridge <--> Browser), and JVB is required to scale the number participants in a conference.

<blockquote>

- How would one go about adding resilience in the jitsi architecture to manage conference if A particular server goes down?

</blockquote>
JICOFO should be able to address only running videobridges.

Regards
Franck

_______________________________________________ users mailing list users@jitsi.org Unsubscribe instructions and other list options: http://lists.jitsi.org/mailman/listinfo/users

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users