这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
房间分片与消息采样
房间分片:分散下行能力
热门房间可以把观众连接分散到多个网关分片:
room_123_shard_1
room_123_shard_2
room_123_shard_3
- 消息服务把房间消息发布到所有分片。
- 每个网关只负责本机连接。
- 这样可以通过加网关横向扩展下行能力。
分片的作用
- 单网关连接数可控。
- 单网关发送队列不爆。
- 一个分片故障只影响一部分观众(不是全房间)。
分片解决的是「下行能力不够」:把 10 万连接拆到多台网关,每台只推几千条。
消息采样:降低每观众接收量
不是每个观众都必须看到每一条普通弹幕。对大房间可以采用:
- 普通弹幕采样展示。
- 高频用户限速。
- 重复内容合并。
- 只保留高质量或高权重消息。
- 礼物、管理员、系统消息优先推送。
采样不是偷工减料
采样是直播产品的体验取舍:
- 用户需要的是「热闹」和「实时」,不是逐字逐条完整接收。
- 大房间弹幕已经刷屏,采样反而让关键内容更清晰。
- 礼物、管理消息不采样——它们的重要性和普通弹幕不同。
采样的实现
- 房间维度采样率:人数越多,采样率越低。
- 消息权重采样:高权重(大 V、优质内容)优先保留。
- 聚合合并:连击「666」合并成一条带计数的消息。
一句话
分片 + 采样 = 扛住大房间的两板斧:分片分散下行能力,采样降低每观众接收量。前者是容量问题,后者是体验取舍。
下一节看热点隔离——让一个爆火直播间不影响全站。
发现内容有问题?
告诉我们哪里需要改进。
