分析“如何设计一个 70w 在线人数的弹幕系统”

简介: 分析“如何设计一个 70w 在线人数的弹幕系统”

问题背景


在直播业务中,产品设计为直播业务增加了弹幕,但是会出现卡顿弹幕偏少的问题。需要开发弹幕系统。


启用Http压缩


HTTP压缩是指在web服务器端和浏览器间传输压缩文本内容的方法,压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。http压缩通常是通过在reponse header指定Content-Encoding首部,告诉客户端response的压缩格式,这样客户端才能正确解压。


QPS,每秒查询


QPS:Queries Per Second是衡量信息检索系统(例如搜索引擎或数据库)在一秒钟内接收到的搜索流量的一种常见度量。该术语在任何请求-响应系统中都得到更广泛的使用,更正确地称为每秒请求数(RPS:Request Per Second)。


高性能、高并发、高可用(简称“三高”)要求的系统必须注意其QPS,才能知道何时扩容系统以处理更多请求。


Long Polling via AJAX


AJAX 的出现使得 JavaScript 可以调用 XMLHttpRequest 对象发出 HTTP 请求,JavaScript 响应处理函数根据服务器返回的信息对 HTML 页面的显示进行更新。使用 AJAX 实现“服务器推”与传统的 AJAX 应用不同之处在于:


服务器端会阻塞请求直到有数据传递或超时才返回。

客户端 JavaScript 响应处理函数会在处理完服务器返回的信息后,再次发出请求,重新建立连接。

当客户端处理接收的数据、重新建立连接时,服务器端可能有新的数据到达;这些信息会被服务器端保存直到客户端重新建立连接,客户端会一次把当前服务器端所有的信息取回。


WebSockets


Websockets 一种在单个TCP链接上进行全双工通讯的协议,


 持久连续


 双向通讯


 能处理大量连续


 菲阻塞(异步)


优点:


 Websockets使得客户端和服务器之间的数据交换变得更加简单,允许服务器主动向客户端推送数据,在Websockets API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久的链接,并进行双向数据传输。


相关文章
|
2月前
|
存储 前端开发 NoSQL
如何优雅地实现在线人数统计功能:技术干货分享
在现代Web开发中,实时在线人数统计是一个常见且重要的功能,它不仅提升了用户体验,还能为网站运营者提供宝贵的数据支持。今天,我们将深入探讨如何优雅地实现这一功能,结合前端展示、后端处理及数据存储等多个方面,为您呈现一套完整的技术解决方案。
230 5
|
6月前
|
存储 弹性计算 关系型数据库
100W用户、8000W流量在线贺卡应用架构如何优化?
100W用户、8000W流量在线贺卡应用架构如何优化?
|
缓存 运维 前端开发
如何设计一个70W在线人数的弹幕系统文章分析
如何设计一个70W在线人数的弹幕系统文章分析
83 3
如何设计一个 70w 在线人数的弹幕系统
如何设计一个 70w 在线人数的弹幕系统
|
前端开发
如何设计一个70w在线人数的弹幕系统
如何设计一个70w在线人数的弹幕系统
|
缓存 运维 前端开发
关于“如何设计一个 70w 在线人数的弹幕系统”的总结
关于“如何设计一个 70w 在线人数的弹幕系统”的总结
|
缓存 运维 前端开发
设计一个70W在线人数的弹幕系统
设计一个70W在线人数的弹幕系统
82 0
|
前端开发 算法 JavaScript
如何设计一个 70w 在线人数的弹幕系统 ?
如何设计一个 70w 在线人数的弹幕系统 ?
71 0
|
缓存 网络协议 前端开发
设计一个70w在线人数弹幕系统所需技术
设计一个70w在线人数弹幕系统所需技术
|
运维 网络协议 前端开发
如何设计一个70W在线人数的弹幕系统分析
如何设计一个70W在线人数的弹幕系统分析