弹幕系统高并发所需问题与技术

  • Post author:
  • Post category:其他


背景

产品设计为直播业务增加了弹幕。第一期弹幕使用腾讯云支持,效果并不理想,经常出现卡顿、弹幕偏少等问题。最终促使我们开发自己的弹幕系统。性能要求是需要支持,单房间百万用户同时在线。

问题分析

带宽压力

弱网导致的弹幕卡顿、丢失

性能与可靠性

带宽优化

1、启用Http压缩

2、Response结构简化

3、内容排列顺序优化

4、频率控制

弹幕卡顿、丢失分析

弹幕的实时性如何实现?拉取还是推送?

Long Polling via AJAX

客户端打开一个到服务器端的 AJAX 请求,然后等待响应,服务器端需要一些特定的功能来允许请求被挂起,只要一有事件发生,服务器端就会在挂起的请求中送回响应。如果打开Http的Keepalived开关,还可以节约握手的时间。

可靠与性能

服务拆分

在拉取弹幕服务的一端 ,引入了本地缓存。这样后续的请求走本地内存的读取,降低了调用时延。缩短调⽤链路,同时降低外部依赖的服务故障对业务的影响,

在发送弹幕的一端 ,用户一定时间能看得过来弹幕总量是有限的,所以可对弹幕进行限流,有选择的丢弃多余的弹幕。



版权声明:本文为weixin_44663188原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。