licode服务端总结
Posted bloglearning
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了licode服务端总结相关的知识,希望对你有一定的参考价值。
1.系统架构
(来源:https://github.com/lynckia/licode/issues/335)
2.nuve模块
(修改:https://blog.csdn.net/u012908515/article/details/53940787)
app.post(‘/rooms‘, roomsResource.createRoom); app.get(‘/rooms‘, roomsResource.represent); app.get(‘/rooms/:room‘, roomResource.represent); app.put(‘/rooms/:room‘, roomResource.updateRoom); app.patch(‘/rooms/:room‘, roomResource.patchRoom); app.delete(‘/rooms/:room‘, roomResource.deleteRoom); app.post(‘/rooms/:room/tokens‘, tokensResource.create); app.post(‘/services‘, servicesResource.create); app.get(‘/services‘, servicesResource.represent); app.get(‘/services/:service‘, serviceResource.represent); app.delete(‘/services/:service‘, serviceResource.deleteService); app.get(‘/rooms/:room/users‘, usersResource.getList); app.get(‘/rooms/:room/users/:user‘, userResource.getUser); app.delete(‘/rooms/:room/users/:user‘, userResource.deleteUser);
2.1签名验证
app.get(‘*‘, nuveAuthenticator.authenticate); app.post(‘*‘, nuveAuthenticator.authenticate); app.put(‘*‘, nuveAuthenticator.authenticate); app.patch(‘*‘, nuveAuthenticator.authenticate); app.delete(‘*‘, nuveAuthenticator.authenticate);
每一次客户端请求都会进行签名验证。
2.2cloudHandle.js
cloudHandler提供了nuve对EC的调用:获取房间中的所有用户,删除房间,删除指定用户;以及EC对nuve的调用:删除token,EC的添加、状态更新,删除以及保活。
调用方法通过RPCMQ实现,他们共同维护了两个队列,队列A用来传递调用消息,Nuve发布调用消息后,并且会维护一个调用方法和回调函数的字典;EC从队列A中获取调用消息后执行调用方法,并将结果消息push进队列B;Nuve从队列B中获取调用结果消息,并从字典中得到回调函数并执行callback,删除对应字典值。
2.3服务、房间、用户管理
hh
以上是关于licode服务端总结的主要内容,如果未能解决你的问题,请参考以下文章