这是我参与「第三届青训营 -后端场」笔记创作活动的第7篇笔记。
1.刷抖音网络是怎么交互的
1.1 网络接入
互联网--路由(动态路由BGP/OSPF等)--ARP协议(查找下一跳的MAC)--IP协议(唯一标识)--NAT(内网/外网)
1.2 数据传输
数据包发送--请求DNS--DNS的传输协议UDP--TCP三次握手—TCP传输(滑动窗口/流量控制/拥塞控制)—HTTP/HTTP1.1--HTTPS--SSL/TLS握手(对称加密/非对称加密)
HTTP1.1的优化:长连接、部分传输、HOST、缓存等。
2.网络架构怎么给抖音提质
2.1 网络提速
1.协议优化:HTTP2.0(多图并发下载);多路复用/stream;QUIC/HTTP3.0
2.网络路径优化 :数据中心分布;同运营商访问;静态资源(图片视频)路径优化(CDN);动态API(播放/评论接口)路径优化(DSA)
2.2 网络稳定
1.容灾:故障发生--故障感知--自动切换--服务恢复
2.故障排除:故障明确--故障止损--分段排查(客户端、服务端、中间链路)
故障明确:什么业务?什么接口故障?故障体现在哪里?访问其他目标是否正常?是否是修改导致的异常?
故障止损:先止损再排查,用户体验第一
客户端排查:客户端访问其他服务没问题吗?其他客户端访问目标服务没问题吗?
服务端排查:服务端监控/指标都正常吗?手动访问一下正常吗?分组件排查
中间链路排查:服务端跟客户端确保都没问题;中间网络设备有没有问题?(交换机/路由器/网关LB)旁路的DNS有没有问题?
故障排查常用命令:dig-查询DNS问题;ping/telnet/nmap-查询三层/四层连通性;Traceroute-排查中间链路;iptabels;tcpdump
3.故障预防:监控报警-故障演练/预案-故障降级/止损