在上篇博文中WebRTC笔记之十四:将WebRTC用于多人音视频通信已经旗帜鲜明的指出WebRTC采用的是SFU架构的服务器,这篇在详述一下SFU的原理和实现。
一.SFU (Selective Forwarding Unit)架构
现在互联网行业比较流行的是SFU(Selective Forwarding Unit),简单说就是只负责转发流,不负责合流,压力很小。这样的模式可以依托CDN进行分布式的部署,不过拉流的方数限于客户端的带宽和处理能力。
图片来源: WebRTC 开发实践:为什么你需要 SFU 服务器 - 知乎
SFU架构最核心的特点是服务器除了处理信令之外,还把自己 “伪装” 成了一个 WebRTC 的客户端,WebRTC的其他客户端其实并不