透明多级分流系统

基本原则

客户端缓存

状态缓存

不经过服务器,直接根据缓存信息对目标网站的状态判断,以前只有 301(永久重定向)一种,后来增加了 HSTS(HTTP Strict Transport Security)。

强制缓存

客户端无需经过任何请求,在条件满足期间一直持有和使用该资源的本地缓存副本,用户主动刷新时(F5)失效。

协商缓存

强制缓存基于时效性,但往往无法判断资源保持不变的时长。协商缓存一致性表现更好,但需要一次变化检测的额外开销。二者不具备互斥性,可以并行存在。

域名解析

传输链路

优化措施

协议层面

详细内容可参考计算机网络急救指南

数据压缩

节约传输带宽,HTML、CSS、Script 等文本数据压缩收益高,已经被压缩存储的资源通常不会被二次压缩,空耗性能。

内容分发网络 CDN

网络传输影响因素

路由解析

第一个用户来访触发一次未命中缓存的 DNS 查询后,链路解析主导权即交由 CDN 的调度服务。这个 DNS 服务将根据一定的均衡策略和参数,如拓扑结构、容量、时延等,在能提供服务的 CDN 缓存节点中挑选一个最适合的,将它的 IP 代替源站的 IP 地址,返回给本地 DNS。

内容分发

CDN 获取源站资源的过程,也是其核心价值所在。

CDN 管理更新:超时被动失效和手工主动失效相结合。

CDN 应用

负载均衡

四层负载均衡性能高,七层负载均衡功能强。

数据链路层负载均衡

修改请求的数据帧中的 MAC 目标地址,将原本发向负载均衡器请求的数据帧转发到对应的服务器网卡上。
三角传输模式:只有请求经过负载均衡器,响应无需从负载均衡器返回。
效率高,但必须位于同一子网,无法跨 VLAN,因此最适合做数据中心的第一级均衡设备,连接其它下级负载均衡器。

网络层负载均衡

应用层负载均衡

网络性能四层明显更高,七层至少多一轮 TCP 握手,有跟 NAT 转发模式一样的带宽问题,通常耗费更多 CPU 用于丰富的解析规则。但相比四层,可以实现如部分安全攻击的抵御(如 SQL 注入、SYN Flood 攻击等)、链路治理措施(如服务降级、熔断和异常注入)等更多的功能。

均衡策略与实现

服务端缓存

缓存:空间换时间,并且提高了系统复杂度,需要考虑缓存失效、更新、一致性等问题,因此引入需要审慎考虑。

缓存风险



正在加载今日诗词....

📌 Powered by Obsidian Digital Garden and Vercel
载入天数...载入时分秒...