打开抖音互联网会发生什么(探索计算机网络)三
抖音包含 域名解析DNS 视频下载/HTTP 评论API/HTTP 图片下载/HTTP
1. 刷抖音网络是怎么交互的
2. 刷抖音为什么又快又稳。
网络提速-协议优化(HTTP2.0【并发下载】,多路复用/stream,QUIC/HTTP3.0),网络路径优化(数据中心分布,同运营商访问,静态资源路径优化(CDN),动态API播放评论借口 路径优化(DSA))
QUIC低延时互联网传输协议,发明本身就是为了速度
网络稳定-容灾概念,故障排查,故障止损,分段排查,网络故障排查常用命令,故障预防很重要
容灾概念-故障发生,故障感知,自动切换,服务恢复
故障排查-故障明确,故障止损,分段排查
a先止损再排查 用户体验第一 对公司收入的影响是按照分钟甚至秒计算
b如何止损 组件没有容灾,但是可以考虑系统,降级
分段排查-客户端排查(客户端访问其他服务是否有问题,其他客户端访问目标服务是否有问题)服务端排查(服务端监控/指标是否正常,手动访问一下是否正常,分组件排查)中间链路排查(服务端跟客户端确保都没问题,中间网络设备是否有问题,旁路的DNS是否有问题)
网络故障排查常用命令 dig查询DNS问题 PING/telnet/nmap查询三层/四层连通性 traceroute排查中间链路 iptables tcpdump
故障预防 监控报警 故障演练/预案 故障降级/止损
3. 总结回顾
带你认识存储 数据库
1. 经典案例
数据产生,流动,持久化(校验数据的合法性,修改数据,写入存储介质)
2. 存储 数据库简介
存储系统 一个提供了读写、控制类借口,能够安全有效地把数据持久化的软件,就可以称为存储系统
系统特点 作为后端软件的底座,性能敏感, 存储系统软件架构,容易受硬件影响, 存储系统代码,既简单又复杂
数据怎么从应用到存储介质 缓存(贯彻整个存储体系)与拷贝(尽量减少)
RAID技术 出现背景及原因:单块大容量磁盘价格大于多块小容量 单块磁盘的写入性能小于多块的并发写入性能,单块磁盘的容错能力有限,不够安全
RAID0多块磁盘简单组合 数据条带化储存,提高磁盘带宽,没有额外的容错设计, RAID1 一块磁盘对应一块额外镜像盘 真实空间利用率仅50% 容错能力强
RAID0+1 结合了RAID0 和RAID1 真实空间利用率仅50% 容错能力强,写入带宽好
关系型数据库 非关系型数据库
关系型数据库是存储系统,但是在存储之外又发展其他能力(结构化数据友好,支持事务(ACID),支持复杂查询语言)
非关系型数据库也是存储系统,但是一般不要求严格的结构化(半结构化数据优化,可能支持十五(ACID),可能支持复杂查询语言)
数据库
Insert Update Select Delete Where GroupBy OrderBy (Create Alter)
3. 主流产品剖析
单机储存 分布式储存 单机关系型数据库 单机非关系型数据库 分布式数据库
单机存储 单个计算机节点上的存储软件系统,一般不涉及网络交互 【本地文件系统key-value存储】
分布式存储 在单机存储基础上实现了分布式协议,涉及大量网络交互 【分布式文件系统,分布式对象存储】HDFS 支持海量数据存储 高容错性 弱POSIX语义 使用普通x86服务器,性价比高; Ceph 一套系统支持对象接口,块接口,文件接口,但是一切皆对象,数据写入采用主备复制模型,数据分布模型采用Crush算法
单机数据库 单个计算机节点上的数据库系统,事务在单机内执行,也可能通过网络交互实现分布式事务 【关系型数据库(Oracle,MySQL,PostgreSQL),非关系型数据库(MongoDB,Redis,Elasticsearch)】
分布式数据库 解决容量问题,弹性问题,性价比问题
4. 新技术演进
软件架构变更 AI增强(智能存储格式转换) 新硬件革命(存储介质变更,计算单元变更,网络硬件变更)