码迷,mamicode.com
首页 > 其他好文 > 详细

licode服务端总结

时间:2019-12-09 19:20:32      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:技术   lync   center   inf   dha   ica   hub   represent   oms   

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服务端总结

标签:技术   lync   center   inf   dha   ica   hub   represent   oms   

原文地址:https://www.cnblogs.com/bloglearning/p/12012632.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!