提升一个项目有很多种角度:从服务器的性能、代码的组织形式、使用的语言、信息安全……我们也可以通过网络架构来提升抖音质量,这样的做法有两个角度:一个是速度、一个是稳定性。
网络架构实现抖音提质
速度
协议优化
- HTTP2.0可以实现多路复用,能够多图并发下载
- QUIC可以提升网络速度。QUIC使用UDP协议,它在两个端点间创建连接,且支持多路复用连接。在设计之初,QUIC希望能够提供等同于SSL/TLS层级的网络安全保护,减少数据传输及创建连接时的延迟时间,双向控制带宽,以避免网络拥塞。可以简单来说,UDP协议传输的速度更快,但是精准度更低。当然,我们刷视频不需要太高的精准度。
路径优化
- 分布式服务器的部署也是一个需要注意的问题。我们信号的传递也是需要时间的,因此我们可以考虑根据就近原则匹配,寻找最优路径,减少在路径上花费的时间。
- 我们还可以进行同运营商的访问。让移动的归移动,电信的归电信。
- 静态资源路径优化,我们可以自由选择在服务端还是客户端执行代码。
- 动态资源路径优化。
稳定性
稳定性和网络容灾有关。 我在学习信息安全相关的选修课时,老师提到了信息安全的四个维度:
- 信息物理安全:机房会不会被人炸了
- 信息网络安全:在网上传输会不会被人劫持、攻击
- 信息内容安全:传输的信息内容是否会违反国家相关法律法规
- 密码:对数据进行加密
维持稳定的步骤
我们也要从这四个维度对于其进行提防,维持网络稳定的步骤如下:
- 故障发生
- 故障感知
- 自动切换
- 服务恢复
排查故障的步骤
- 明确故障
- 故障止损
- 分段排查
有的时候,一个项目出现了故障,给公司造成的损失是以分钟甚至秒来计算的,因此,我们要先容灾再排查。 依次排查:
- 服务端
- 客户端
- 中间链路端
为了更进一步地减少损失,故障预防很重要,要及时发现并为之准备预案。