背景
为了更好的支持东南亚直播业务,产品设计为直播业务增加了弹幕。第一期弹幕使用腾讯云支持,效果并不理想,经常出现卡顿、弹幕偏少等问题。最终促使我们开发自己的弹幕系统。性能要求是需要支持,单房间百万用户同时在线。
问题分析
按照背景来分析,系统将主要面临以下问题:
-
带宽压力
假如说每3秒促达用户一次,那么每次内容至少需要有15条才能做到视觉无卡顿。15条弹幕+http包头的大小将超过3k,那么每秒的数据大小约为8Gbps,而运维同学通知我们所有服务的可用带宽仅为10Gbps。
-
弱网导致的弹幕卡顿、丢失
该问题已在线上环境
-
性能与可靠性
百万用户同时在线,按照上文的推算,具体QPS将超过30w QPS。如何保证在双十一等重要活动中不出问题,至关重要。性能也是另外一个需要着重考虑的点。
带宽优化
为了降低带宽压力,我们主要采用了以下方案:
-
启用Http压缩
通过查阅资料,http gzip压缩比率可以达到40%以上(gzip比deflate要高出4%~5%)。
-
Response结构简化