[FE 资源链路] 1 - 资源访问优化(全量) - CDN加速 / 负载均衡 / 缓存刷新 预热
[FE 资源链路] 2 - 资源访问优化 - 补丁 + 本地缓存
[FE 资源链路] 3 - CDN返回资源异常 / 分析 / 解决
[FE 链路] 5 - 浏览器渲染机制 / reflow repaint / async defer

Content Delivery Network 内容分发网络,将源站内容 缓存到 全球各节点服务器上。
好处: 用户【就近读取内容】, 提高访问速度, 减轻源站压力。
原理:

负载均衡
负载均衡理解:
相当于团队协作,为了同一个目标,不同位置上的队员统一听一个领导的分配。
大的任务 拆解成 小任务, 大家各司其职。
例如:
我们有国家主席,每个省有省长。省长要听国家主席的。
对于垃圾分类这个事情,全局负载均衡(国家主席)下达命令给各个省的省长
省长下达命令给市长,一层层的到达基层。
最后每个地区都垃圾分类了,任务完成了,这样效率极高。
这样的分配,让任务不会就一个人干,大家都平均的分担事情。
所以全局负载均衡: 整个事件叫做全局负载均衡,局部小范围(某地区)负载均衡叫做区域负载均衡。使用场景:
a.baidu.com 是访问 CDN IP地址的.
但是有一天 CDN IP地址变了, 你让所有人都改吗?不现实啊
所以用 【域名1 => 域名2 => IP】域名2相当于中间层
IP可以随便的变,域名2不会变, 域名1 对 域名2访问。
好处是: 稳定,不会因为IP变了,资源访问不到
坏处是: 需要一层解析。
好处 > 坏处。思考: 用户就近原则获取资源,那就是DNS解析给他分配离他最近的机器的IP地址。

DNS 服务器, 根据用户IP, 将域名解析成 最近缓存服务器IP地址,实现就近访问。
1. 北京用户访问 http://a.baidu.net/xxx.css style资源
2. DNS解析 => 获取 IP
(ps: DNS系统将域名解析权 通过CNAME, 交给CDN专门的DNS服务器)
DNS => 从本地服务器 缓存中获取
if 没有: => 则去DNS专门CDN解析服务器去找
else 有
return【CDN全局负载均衡设备的 IP地址】
3. 访问【CDN全局负载均衡设备的 IP地址 + 并带上用户IP】, 检查到北京最近 => 【区域负载均衡】
4. 【北京区域负载均衡】=> 【北京节点/北京缓存服务器/CDN边缘节点 IP】
- 找一台机器离用户最近的
- 这台机器是否有 style资源
- 根据机器承载力,该机器是否有能力返回 style资源
return【北京节点/北京缓存服务器/CDN边缘节点 IP】
5. 用户访问 => 【北京节点/北京缓存服务器/CDN边缘节点 IP】
- 该节点有, 则直接返回。
- 该节点没有, 则去源站返回资源。步骤说明:

缓存刷新
缓存预热
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31537575/viewspace-3162861/ ,如需转载,请注明出处,否则将追究法律责任。