图7 进房场景缓存命中率
天选时刻
功能概述:开启天选时刻,主房间弹出天选参与框,用户若点击一键参与则参与本次天选,用户若点击关闭则放弃本次天选,到达设定时间后,从所有参与本次天选的用户中选出中奖用户。
图8 直播间天选时刻
QPS预估:参与天选接口的QPS=PCU*点击参与转化率。
技术优化:当PCU是百万千万级别时,该场景存在写瓶颈。优化手段是通过流量打散,将参与框对用户的弹出时间错开,分摊在一定时间内对所有用户展示完(分摊时间不会影响用户的参与时间),并且根据PCU来自适应调整分摊时长。经调整,QPS=PCU*点击参与转化率/分摊时长,有效化解了尖刺流量超出系统承受能力的问题。
图9 天选时刻打散
图10 参与天选接口的尖刺流量
长连接
功能概述:主房间内多项功能依赖长连接,例如用户在主房间发送一条弹幕,长连接会将此条弹幕广播到所有与主房间建立连接的终端。
QPS预估:长连接边缘节点的压力=N*PCU(N是同时发生的广播事件)。一方面,N*PCU越大,带宽成本越高;另一方面,实际并不会将所有事件都广播出去,否则干扰用户的观看体验。
技术优化:我们将主房间这类高在线房间的监控和控制与其他房间隔离,针对主房间各广播事件的QPS和Size单独监控、单独限流,通过单独调控主房间使系统压力、带宽成本和用户体验达到一个平衡。