Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deep Licode Architecture and understanding #335

Closed
cracker0dks opened this issue Jul 30, 2015 · 4 comments
Closed

Deep Licode Architecture and understanding #335

cracker0dks opened this issue Jul 30, 2015 · 4 comments

Comments

@cracker0dks
Copy link
Contributor

Hey,
since there is no complete model and description of the licode architecture, I tried to understand it by the simple model on the licode docu and reading in the licode google group. Here is my approach:

licode architecture 1

Short Informations I found all around the components:

  • Nuve Manage Erizo Controllers (can create more than one Erizo Controller if needed for scale)
  • MongoDB: Stores room and users in rooms
  • Erizo Controler: Manage rooms and the users in it
  • MCU - Erizo Agent: The C++ MCU that broadcast video/audio
  • RabbitMQ: handles the propagation of media elements. It creates the media pipeline.

Is this correct and can you please add Information if you know ?
You can edit the model if you want at: https://docs.google.com/drawings/d/1KIRmaJHh2GUH3rDQWXrnwhwhtI5FAdnBOFAptlvIo2s/edit

You can also add this or something like this to the doc on the licode page for better understanding?

@zevarito
Copy link
Contributor

Great initiative!

2015-07-30 17:15 GMT-03:00 cracker0dks notifications@github.com:

Hey,
since there is no complete model and description of the licode
architecture, I tried to understand it by the simple model on the licode
docu and reading in the licode google group. Here is my approach:

[image: licode architecture 1]
https://cloud.githubusercontent.com/assets/1816621/8993885/26fdff9c-3708-11e5-9f57-3554754079dd.png

Short Informations I found all around the components:

  • Nuve Manage Erizo Controllers (can create more than one Erizo
    Controller if needed for scale)
  • MongoDB: Stores room and users in rooms
  • Erizo Controler: Manage rooms and the users in it
  • MCU - Erizo Agent: The C++ MCU that broadcast video/audio
  • RabbitMQ: handles the propagation of media elements. It creates
    the media pipeline.

Is this correct and can you please and Information if you know ?
You can edit the model if you want at:
https://docs.google.com/drawings/d/1KIRmaJHh2GUH3rDQWXrnwhwhtI5FAdnBOFAptlvIo2s/edit

You can also add this or something like this to the doc on the licode page
for better understanding?


Reply to this email directly or view it on GitHub
#335.

Alvaro

@lodoyun
Copy link
Contributor

lodoyun commented Aug 4, 2015

Actually, it's more like this:
licode architecture_fixed

  • Nuve Manages Services (Custom APPs), Rooms and Users, generates tokens for delegated auth so custom apps can provide access to users. It balances the Rooms among the available ErizoControllers.
  • MongoDB Only used by Nuve to store information about rooms and tokens. No user information is managed by Licode.
  • Erizo Controler Manages Control, signalling and data streams for the rooms assigned to it by Nuve. New started ErizoControllers are automatically discovered by Nuve as long as they are connected to the same RabbitMQ instance.
  • MCU - Erizo Agent+ErizoJS (ErizoAPI+ErizoC++): Distributed MCU. A better explanation on how this works is available here ErizoJS is NOT erizo.js from the client side, sorry about the naming confusion.
  • RabbitMQ: Message broker, enables the distribution of the architecture. Handles all the messages among the components of Licode. It does not handle media and/or communicate with the Clients.

@cracker0dks
Copy link
Contributor Author

Wow! Thank you very much for the awesome explanation!

@guogenfang
Copy link

Great,very helpful

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants