如何设计一个70w在线人数的弹幕系统
Posted 王思琪^
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何设计一个70w在线人数的弹幕系统相关的知识,希望对你有一定的参考价值。
原文地址:
如何设计一个 70w 在线人数的弹幕系统 ?如何设计一个 70w 在线人数的弹幕系统 ?
问题分析
1、带宽压力
2、弱网导致的弹幕卡卡顿、丢失
3、性能与可靠性
启用Http压缩
HTTP压缩是指在web服务器端和浏览器间传输压缩文本内容的方法,压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。http压缩通常是通过在reponse header指定Content-Encoding首部,告诉客户端response的压缩格式,这样客户端才能正确解压。
AJAX长轮询(Long Polling via AJAX)
客户端打开一个到服务器端的 AJAX 请求,然后等待响应,服务器端需要一些特定的功能来允许请求被挂起,只要一有事件发生,服务器端就会在挂起的请求中送回响应。如果打开Http的Keepalived开关,还可以节约握手的时间。
WebSockets
长轮询虽然省去了大量无效请求,减少了服务器压力和一定的网络带宽的占用,但是还是需要保持大量的连接。那么人们就在考虑了,有没有这样一个完美的方案,即能双向通信,又可以节约请求的 header 网络开销,并且有更强的扩展性,最好还可以支持二进制帧,压缩等特性呢?于是人们就发明了这样一个目前看似“完美”的解决方案 —— WebSocket。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话。
总结
以上是关于如何设计一个70w在线人数的弹幕系统的主要内容,如果未能解决你的问题,请参考以下文章