netty做webRTC 的一点疑问
公司打算做webRTC,场景是这样的,可能在规定时间内,有5000多人同时在线,然后1对N发起视频通话,方案确定使用webRTC来实现,首先要解决第一个问题,这么多人同时在线,最开始考虑websocket,但查询发现,websocket有连接数限制,等于要部署多个tomcat才行,这个方案就不考虑了,后面查询到netty,说是支持百万连接,那决定用netty来做,netty当webRTC的信令服务器,同时也管理所有的连接,但查询到前端,却是用websocket连的服务器,我的问题是,这会不会也和websocket通信一样,也需要N个tomcat才能支持所有人在线了?或者换个问法,websocket连接netty,走的通信是不是已经不是ws,而是socket通信了?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
为什么需要tomcat?
SpringBootCloud + Netty-Socketio 了解下
tomcat也可以用nio
不是什么都需要部署在web容器里面运行.如果只是支持websocket协议,完全可以可以独立运行,不需要任何web服务器.
感谢老哥的回答,很有帮助
首先你要弄清除websocket与socket的区别与联系.这里的websocket是基于tcp的协议.Netty只是一个网络框架.基于它可以实现基于TCP的多种协议实现.websocket只是基于TCP上的一个应用层协议.5000人同时在线并不是什么难事,单机加足够内存足以. 你要做多人音视频通讯.信令服务器只是其中一个技术点,更多是需要媒体服务器的支持.
udp, 握手后就可以释放
netty和tomcat同样都是web容器,用了tomcat 就不用netty。这个最大连接数都是可以修改的,但修改后的后果是什么你都不知道,本质上netty是用异步io,tomcat用bio才造成了他们瓶颈的不同。我感觉如何考虑技术选型不是你需要考虑的问题吧。
回复
我明白你的意思了,之前做过netty都是放在嵌套在web项目中,思维陷入定式了,但实际没必要嵌套在web中,也就不需要tomcat来运行
引用来自“bambi2017”的评论
你知道大家选websocket而不选socket的原因吗?因为浏览器不支持socket,所以你用websocket就不用考虑socket的问题。你选tomcat还是选netty完全不是问题,如果你用springboot的话,只是买一个maven依赖的事,想切换成啥就切换成啥。5000人,我感觉用netty比较合适。直播肯定用异步io合适,这是毫无疑问的。就看你会不会用了。至于一台服务器能不能支持5000人,我觉得可以。
你知道大家选websocket而不选socket的原因吗?因为浏览器不支持socket,所以你用websocket就不用考虑socket的问题。你选tomcat还是选netty完全不是问题,如果你用springboot的话,只是买一个maven依赖的事,想切换成啥就切换成啥。5000人,我感觉用netty比较合适。直播肯定用异步io合适,这是毫无疑问的。就看你会不会用了。至于一台服务器能不能支持5000人,我觉得可以。