公司打算做webRTC,场景是这样的,可能在规定时间内,有5000多人同时在线,然后1对N发起视频通话,方案确定使用webRTC来实现,首先要解决第一个问题,这么多人同时在线,最开始考虑websocket,但查询发现,websocket有连接数限制,等于要部署多个tomcat才行,这个方案就不考虑了,后面查询到netty,说是支持百万连接,那决定用netty来做,netty当webRTC的信令服务器,同时也管理所有的连接,但查询到前端,却是用websocket连的服务器,我的问题是,这会不会也和websocket通信一样,也需要N个tomcat才能支持所有人在线了?或者换个问法,websocket连接netty,走的通信是不是已经不是ws,而是socket通信了?
Netty
WebRTC
udp, 握手后就可以释放
首先你要弄清除websocket与socket的区别与联系.这里的websocket是基于tcp的协议.Netty只是一个网络框架.基于它可以实现基于TCP的多种协议实现.websocket只是基于TCP上的一个应用层协议.5000人同时在线并不是什么难事,单机加足够内存足以. 你要做多人音视频通讯.信令服务器只是其中一个技术点,更多是需要媒体服务器的支持.
不是什么都需要部署在web容器里面运行.如果只是支持websocket协议,完全可以可以独立运行,不需要任何web服务器.
tomcat也可以用nio
SpringBootCloud + Netty-Socketio 了解下
为什么需要tomcat?