房间分片与消息采样

房间分片:分散下行能力

热门房间可以把观众连接分散到多个网关分片:

room_123_shard_1
room_123_shard_2
room_123_shard_3
  • 消息服务把房间消息发布到所有分片。
  • 每个网关只负责本机连接。
  • 这样可以通过加网关横向扩展下行能力。

分片的作用

  • 单网关连接数可控。
  • 单网关发送队列不爆。
  • 一个分片故障只影响一部分观众(不是全房间)。

分片解决的是「下行能力不够」:把 10 万连接拆到多台网关,每台只推几千条。

消息采样:降低每观众接收量

不是每个观众都必须看到每一条普通弹幕。对大房间可以采用:

  • 普通弹幕采样展示。
  • 高频用户限速。
  • 重复内容合并。
  • 只保留高质量或高权重消息。
  • 礼物、管理员、系统消息优先推送。

采样不是偷工减料

采样是直播产品的体验取舍:

  • 用户需要的是「热闹」和「实时」,不是逐字逐条完整接收。
  • 大房间弹幕已经刷屏,采样反而让关键内容更清晰。
  • 礼物、管理消息不采样——它们的重要性和普通弹幕不同。

采样的实现

  • 房间维度采样率:人数越多,采样率越低。
  • 消息权重采样:高权重(大 V、优质内容)优先保留。
  • 聚合合并:连击「666」合并成一条带计数的消息。

一句话

分片 + 采样 = 扛住大房间的两板斧:分片分散下行能力,采样降低每观众接收量。前者是容量问题,后者是体验取舍。

下一节看热点隔离——让一个爆火直播间不影响全站。

发现内容有问题?

告诉我们哪里需要改进。