Can we use several Nuves, Erizo controllers and some HA problems?


#1

Dear all, I am trying to build an infrastructure of all components of Licode for high availability, and I have some questions.

  1. Can I use several Nuves behind one load balancer? It seems like Nuve is stateless? All information is stored in MongoDB, right?

  2. All clients in the same room MUSE use the same Erizo Controller? Because all information about publishers/subscribers are stored in memory, right? If one Erizo Controller is crashed, how can we do to decrease the damage? Any suggestions?

  3. If client A, B, C are in the same room R, A uses EzrioJS_x (created by ErizoAgent_X), B uses EzrioJS_y (created by ErizoAgent_Y) and C uses EzrioJS_y (created by ErizoAgent_Y). If EzrioJS_y or ErizoAgent_Y is crashed, and client B and client C will retry in client side, can Erizo controller handle it when B, C want to enter to the same room R?

Sorry about my English.
Thanks & Regards,

Yannis


#2

Hi Yannis,

  1. Although there have been some work towards having a stateless Nuve, we can’t use several Nuves behind a load balancer yet. The reason is that there are few db operations that are not atomized and there could be race conditions.
  2. Yes, they must use the same Erizo Controller. If it crashes the best alternative is to reconnect clients once you receive the disconnection event.
  3. Yes, Erizo Controller automatically handles it, when B and C want to re-enter the same Room it will use a assign a different ErizoAgent/ErizoJS.