广播放大

高并发难点是广播放大

弹幕系统的高并发难点不只是「很多人发消息」,更是广播放大。一条弹幕如果要推给 10 万在线观众,就会变成 10 万次下行推送。

1 条入站消息 -> N 个在线观众出站消息

这就是直播弹幕的核心压力。

数字感受一下

假设一个房间 10 万人在线,每秒 1000 条弹幕。如果每条都推给所有人:

1000 × 100000 = 1 亿条/秒

这显然不可接受。系统必须对大房间做策略控制。

广播放大的三个层次

  • 入站:用户发消息的速率(通常不大)。
  • 放大:房间在线人数(决定倍数)。
  • 出站:入站 × 在线(才是真正的压力)。

优化思路可以从三个层次入手:

  • 降入站:限流、合并。
  • 降放大:分片 + 采样。
  • 降出站:网关本地 fan-out + 高效推送。

一句话

广播放大决定了弹幕系统的容量设计。先承认「不是每条都推给所有人」,再做分片、采样、限流——这是下一节的核心。

下一节看房间分片与消息采样。