# Licode and high availability?

**URL:** https://discourse.lynckia.com/t/licode-and-high-availability/248
**Category:** Uncategorized
**Created:** [September 25, 2013, 5:37pm UTC](https://discourse.lynckia.com/t/licode-and-high-availability/248 "2013-09-25T17:37:35Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![robomon1](https://avatars.discourse-cdn.com/v4/letter/r/7ab992/32.png) [@robomon1](https://discourse.lynckia.com/u/robomon1)
#### Post date: [September 25, 2013, 5:37pm UTC](https://discourse.lynckia.com/t/licode-and-high-availability/248/1 "2013-09-25T17:37:35Z")

</div>

We are getting close to committing to using Licode as a piece of our vide  
chat solution. As such we are now focusing on the high availability  
aspects of Licode. We plan to run licode on AWS instances. What is the  
best way to achieve high availability using Licode? Can it be load  
balanced or should it be some kind of failover? What are the pieces of the  
architecture that need to be common in a load balanced environment? For  
example we would have a separate mongodb server. Do we need a separate  
rabbitmq server as well? What else?

If anyone has a load balancing design that is working for them it would be  
great to hear from you.

Thanks,

robo

---

<div class="post-metadata">

### Author: ![robomon1](https://avatars.discourse-cdn.com/v4/letter/r/7ab992/32.png) [@robomon1](https://discourse.lynckia.com/u/robomon1)
#### Post date: [October 23, 2013, 10:39pm UTC](https://discourse.lynckia.com/t/licode-and-high-availability/248/2 "2013-10-23T22:39:30Z")

</div>

Hi Alvaro,

We are just getting started with the separation now that we have the new  
master branch. I am interested in both “high availability” as well as  
“scalability”. Right now I have mongo separate as well as rabbitmq  
separate. Mongo gives me high availability with the replica set and if I  
need scalability I can go with sharding. I am learning rabbitmq clustering  
right now with shared queues but I am hoping I can figure that out quickly.  
So now down to licode. From what you said it appears that I can have  
multiple erizoControllers - great. That gives me high availability. Now  
the question is about nuve. Can I have multiple nuve servers? If so how  
do I configure that. When I tried to run 2 licode servers configured to  
use a shared mongodb and shared rabbitmq server I kept getting an error in  
the ouput that says:

I received a keepAlive mess from a removed erizoController

when I start up the second server. At this point the first server ends  
with:

I don`t exist in cloudHandler. I`m going to be killed

Any help in setting up multiple nuve servers would be great.

Thanks,

roboOn Friday, September 27, 2013 3:42:39 AM UTC-7, Álvaro Alonso wrote:

> Hi,
> 
> yes, you can use Licode in a flexible and scalable environment using AWS  
> servers. The common node that manages the rest of modules is nuve. It  
> processes the clients requests and creates the videoconference rooms in  
> different erizo\_controllers in function of their load and the amount of  
> rooms that they are already managing. So the component that scales is  
> erizo\_controller. You have to run a new erizo controller process in each  
> new server and it will be connected to nuve using rabbitmq.
> 
> If you have any doubt ask us!
> 
> Furthermore, are working on improve the scalability in Licode it right  
> now, this is one of the most important features in our short term roadmap.
> 
> Best regards,  
> Álvaro
> 
> 2013/9/25 robomon1 \<[robo...@gmail.com](mailto:robo...@gmail.com) \<javascript:\>\>
> 
> > We are getting close to committing to using Licode as a piece of our vide  
> > chat solution. As such we are now focusing on the high availability  
> > aspects of Licode. We plan to run licode on AWS instances. What is the  
> > best way to achieve high availability using Licode? Can it be load  
> > balanced or should it be some kind of failover? What are the pieces of the  
> > architecture that need to be common in a load balanced environment? For  
> > example we would have a separate mongodb server. Do we need a separate  
> > rabbitmq server as well? What else?
> > 
> > If anyone has a load balancing design that is working for them it would  
> > be great to hear from you.
> > 
> > Thanks,
> > 
> > robo
> > 
> > –  
> > You received this message because you are subscribed to the Google Groups  
> > “lynckia” group.  
> > To unsubscribe from this group and stop receiving emails from it, send an  
> > email to [lynckia+u...@googlegroups.com](mailto:lynckia+u...@googlegroups.com) \<javascript:\>.  
> > For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> > 
> > ## –
> > 
> > Álvaro

---

<div class="post-metadata">

### Author: ![Alvaro\_Alonso3](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.lynckia.com/alvaro_alonso3/32/31_2.png) [@Alvaro\_Alonso3](https://discourse.lynckia.com/u/Alvaro_Alonso3)
#### Post date: [September 27, 2013, 10:42am UTC](https://discourse.lynckia.com/t/licode-and-high-availability/248/3 "2013-09-27T10:42:39Z")

</div>

Hi,

yes, you can use Licode in a flexible and scalable environment using AWS  
servers. The common node that manages the rest of modules is nuve. It  
processes the clients requests and creates the videoconference rooms in  
different erizo\_controllers in function of their load and the amount of  
rooms that they are already managing. So the component that scales is  
erizo\_controller. You have to run a new erizo controller process in each  
new server and it will be connected to nuve using rabbitmq.

If you have any doubt ask us!

Furthermore, are working on improve the scalability in Licode it right now,  
this is one of the most important features in our short term roadmap.

Best regards,  
Álvaro2013/9/25 robomon1 [robomon1@gmail.com](mailto:robomon1@gmail.com)

> We are getting close to committing to using Licode as a piece of our vide  
> chat solution. As such we are now focusing on the high availability  
> aspects of Licode. We plan to run licode on AWS instances. What is the  
> best way to achieve high availability using Licode? Can it be load  
> balanced or should it be some kind of failover? What are the pieces of the  
> architecture that need to be common in a load balanced environment? For  
> example we would have a separate mongodb server. Do we need a separate  
> rabbitmq server as well? What else?
> 
> If anyone has a load balancing design that is working for them it would be  
> great to hear from you.
> 
> Thanks,
> 
> robo
> 
> –  
> You received this message because you are subscribed to the Google Groups  
> “lynckia” group.  
> To unsubscribe from this group and stop receiving emails from it, send an  
> email to [lynckia+unsubscribe@googlegroups.com](mailto:lynckia+unsubscribe@googlegroups.com).  
> For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).
> 
> ## –
> 
> Álvaro

---

<div class="post-metadata">

### Author: ![Ivo\_Pavlik](https://avatars.discourse-cdn.com/v4/letter/i/ed655f/32.png) [@Ivo\_Pavlik](https://discourse.lynckia.com/u/Ivo_Pavlik)
#### Post date: [March 4, 2014, 2:03pm UTC](https://discourse.lynckia.com/t/licode-and-high-availability/248/4 "2014-03-04T14:03:13Z")

</div>

Hello guys,

I’m also very interested with high availability and scalability of Licode.  
As first step I’d like to separate Nuve and Erizo. I tried to install it on  
separate servers.  
As rabbit host I use Nuve server’s IP and set testErizoController Erizo  
server’s IP instead of localhost. I copied licode\_config.js to Erizo server.  
Both servers seems to connect each other when running scripts parts, but  
I’m getting error “[Auth] Unknown service ” when I try to run  
basic example even keys are the same on Nuve and Erizo server.

Thanks for any advice.

Dňa streda, 25. septembra 2013 19:37:35 UTC+2 robomon1 napísal(-a):\>

> We are getting close to committing to using Licode as a piece of our vide  
> chat solution. As such we are now focusing on the high availability  
> aspects of Licode. We plan to run licode on AWS instances. What is the  
> best way to achieve high availability using Licode? Can it be load  
> balanced or should it be some kind of failover? What are the pieces of the  
> architecture that need to be common in a load balanced environment? For  
> example we would have a separate mongodb server. Do we need a separate  
> rabbitmq server as well? What else?
> 
> If anyone has a load balancing design that is working for them it would be  
> great to hear from you.
> 
> Thanks,
> 
> robo
