How other instance of openvidu knows about the session created on another instance of openvidu-server

Hi,

Since, there is no DB and cache in Openvidu-server. In a distributed system, request may go to any instance of same application.

Let’s say, in one session I want to connect 2 user over video/audio call. Session may get created on one instance and other user request to join the session may go to another/different instance.

How this is handled? How other user would get the session info to get connected.

I know, it’s basic question but I want to understand the idea behind this.

The scalability of OpenVidu depends on the edition:

  • For OpenVidu CE, there is no built-in scalability. You can of course build yourself your own distribution of sessions in multiple OpenVidu instances, using your own logic in your application backend.
  • For OpenVidu PRO, scalability is introduced with replication of Media Nodes. One single OpenVidu deployment can handle in this way many more sessions and media streams.
  • For OpenVidu ENTERPRISE, there is a High Availability deployment option that replicates not only Media Nodes, but also Master Nodes. In this way one single OpenVidu deployment could theoretically scale up to any numvber of sessions and media streams (the only limit would be the bandwitdh of the network).

Thank you @pabloFuente for the response.

One more thing, the call recording goes to AWS S3. Our application is on GCloud. Do I need to implement logic to pull and push the recording to GCS or os there solution already available?

Recordings by default are stored locally in the OpenVidu deployment. There is an option for automatically uploading the recordings to an S3 bucket (any compatible S3 bucket, not only AWS S3) when the recording is finished. If you want to upload the recordings to a different storage service, I would skip the native S3 automatic recording upload. Just implement your own logic to upload the locally stored recordings to your storage service.