关于“如何设计一个 70w 在线人数的弹幕系统”的总结

如何设计一个 70w 在线人数的弹幕系统 ?
https://mp.weixin.qq.com/s?__biz=MzkyNTI5NTQ1NQ==&mid=2247511614&idx=1&sn=4eb1147d87bd121ff62853e0adf60dc2&chksm=c1ca580ef6bdd1185fde9ee347ea6c0c669eee8afc0f8b8fdec52808745174b5b8fcb8e67e8b#rd

文章整体分析:
首先介绍了弹幕问题出现的背景,之后将弹幕中具体遇到的问题显示在问题分析中,
之后将逐步解决问题方法进行概述,
以及最后的总结

1.问题的背景:
表明所属地区所属业务以及所需的功能,描述了使用的技术支持以及结果,还有弹幕功能所需要的性能要求

2.描述出现的问题
①带宽的压力 运维提供
②弱网导致的弹幕卡顿、丢失
③性能与可靠性

3.带宽优化的方案:
①.使用Http压缩:
百度百科
HTTP压缩是指在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩通常采用gzip压缩算法压缩HTML、JavaScript、CSS等文件。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。当然,同时也会增加一点服务器的负担。
②.Response结构简化
过滤掉无用的响应数据
③.
gzip在HTTP压缩,一种在万维网中加速传输HTML和其他内容的技术。它是在RFC 2016中规定的三种标准HTTP压缩格式之一。这个RFC(征求意见稿)页定义了一种叫做"DEFLATE"的zlib格式,它和gzip格式相同,除了gzip添加了11字节头部和尾部的负载。但是,还是建议使用gzip而不是zlib,因为根据RFC 1950,IE还没有正确的实现该标准,还不能处理zlib格式

④.频率控制:
带宽控制: 请求中添加下次请求时间,保证请求频率可控,

稀疏控制:在弹幕量少的时间段,控制下次请求时间,来避免客户端的无效请求

弹幕卡顿、丢失分析
.使用长轮询方式
来挂起客户端发送的请求,通过事件触发服务器端来进行响应数据
优点为减少轮询

WebSockets 减少请求的控制开销

通过比较两者的业务场景,使用短轮询的方式来进行

短轮询是浏览器每隔一段时间向浏览器发送http请求,服务器端在收到请求后,不论是否有数据更新,都直接进行响应。
  
  本质上还是浏览器发送请求,服务器接受请求的一个过程,通过让客户端不断的进行请求,使得客户端能够模拟实时地收到服务器端的数据的变化。

可靠与性能:

拆分微服务:
逻辑较为复杂、调用较少的业务与逻辑简单、调用量高的服务拆开

拉取弹幕:按照一定时间段内将读取到的数据按照时间分片放入缓存中,通过一定时间段内的某个索引来进行读取

发送弹幕:在不影响拉去弹幕的情况下来进行正常的发送弹幕

总结:所应用的方案达到了实现的目标

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值