0
点赞
收藏
分享

微信扫一扫

分析“如何设计一个 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 应用不同之处在于:

  1. 服务器端会阻塞请求直到有数据传递或超时才返回。
  2. 客户端 JavaScript 响应处理函数会在处理完服务器返回的信息后,再次发出请求,重新建立连接。
  3. 当客户端处理接收的数据、重新建立连接时,服务器端可能有新的数据到达;这些信息会被服务器端保存直到客户端重新建立连接,客户端会一次把当前服务器端所有的信息取回。

WebSockets

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

  持久连续

  双向通讯

  能处理大量连续

  菲阻塞(异步)

优点:

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

举报

相关推荐

0 条评论