Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
New Contributor I
27 Views

Question about MCU Clustering in new version 3.1

Hi Chunbo,

MCU Clustering in Version 3.1 is little confusing.

1. How many servers are required for MCU Clustering

Do we require Separate servers

1 for  Nuve and Sample another for cluster manager and another for agents??

Can we cluster with 2 mcu servers only

Also do we require separate server for Rabbitmq r can we use master MCU server as rabbitmq also?

Also configuration is little difficult than previous version

Thanks

Naresh

 

 

 

 

 

 

 

 

 

 

Tags (2)
0 Kudos
8 Replies
Highlighted
27 Views

Hi,

You will not be required to deploy multiple machines, since the whole MCU system could be run on a single server. Of course, you can run MCU on two machines. And RabittMQ can be run on primary master as you decide.

Thanks!

0 Kudos
Highlighted
New Contributor I
27 Views

Hi Chunbo,

I Have configured Cluster in version 3.0.1 update 2 using the reference guide.

Scenario :

We have configured 1 Master Server and started nuve, mcu and app services

2 slave servers running only agent service, and pointed rabbit mq server ip in woogen_config.js to Master server and with default port 5672 in both slave servers

When we tested this enviroment clients getting connected to only 1 slave.

Want to know how distributed system will work with multiple slaves

 

Thanks

Naresh

0 Kudos
Highlighted
27 Views

Here is the documentation from our user guide:

"All workers including portals, webrtc-agents, rtsp-agents, recording-agents, audio-agents, video-agents in the cluster are scheduled by the cluster_manager with respect to the configured scheduling strategies in cluster_manager/cluster_manager.toml. For example, the configuration item "portal = last-used" means the scheduling policy of workers with purposes of "portal" are set to "last-used". The following built-in scheduling strategies are provided:

  1. last-used: If more than 1 worker with the specified purpose are alive and available, the last used one will be scheduled.
  2. least-used: If more than 1 worker with the specified purpose are alive and available, the one with the least work-load will be scheduled.
  3. most-used: If more than 1 worker with the specified purpose are alive and available, the one with the heavist work-load will be scheduled.
  4. round-robin: If more than 1 worker with the specified purpose are alive and available, they will be scheduled one by one circularly.
  5. randomly-pick: If more than 1 worker with the specified purpose are alive and available, they will be scheduled randomly."
0 Kudos
Highlighted
27 Views

Another thing is that the above policy ONLY available in v3.1. Please test in with the latest release.

0 Kudos
Highlighted
New Contributor I
27 Views

Hi Chunbo,

I Have Configured MCU 3.1 in 2 Server Machines still am not able to check how clustering works

In machine1 i have started the following servics

nuve, cpp, cluster-manager

In machine2 i have added rabbit host as machine1 ip-adress in each agent and controller and started following services

portal , audio-agent , video-agent, webrtc-agent, rtsp-agent, recording-agent

when  i am trying to access the room it says invalid token

please let me know for any configuration needed to work cluster

Below is the error 

ERROR: AMQPER - Connection error... { [Error: read ECONNRESET] code: 'ECONNRESET', errno: 'ECONNRESET', syscall: 'read' }
Error: read ECONNRESET
    at exports._errnoException (util.js:849:11)
    at TCP.onread (net.js:544:26)

 

Thanks

Naresh

0 Kudos
Highlighted
27 Views

Hi Naresh,

According to the error output, have you set the correct RabbitMQ host and port in each component's configuration file?

Thanks!

0 Kudos
Highlighted
New Contributor I
27 Views

Hi Chunbo,

Can we use  Master Server as rabbit Host or we have create another server as rabbitmq server?

 

Thanks

Naresh

0 Kudos
Highlighted
27 Views

Sure, you can.

Thanks!

0 Kudos