【前端词典】CDN 带来这些性能优化

【前端词典】CDN 带来这些性能优化我们在淘宝购物,大部分个人卖家只是在一个地方发货,江浙沪以外的地方好像收货都比较慢。 而我们在京东上买自营产品的话,它会根据我们的收货地点,在全国范围内找离我们最近、送达最快的仓库,不管我们在江浙沪,还是新疆西藏内蒙古,我们的收货时间都会大大减少。京东的物流体系就类似于 CDN…

前言

CDN的全称是 Content Delivery Network,即内容分发网络。CDN 是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN 的关键技术主要有内容存储和分发技术。—— 科学百科

【前端词典】CDN 带来这些性能优化

内容已经发布在 gitHub 了,欢迎围观 Star,更多文章都在 gitHub。

CDN 存在的意义:

为了不让网络拥塞成为互联网发展的障碍。

举个例子

在讲 CDN 之前我们先看个生活实例:

在淘宝购物

我们在淘宝购物,大部分个人卖家只是在一个地方发货,江浙沪以外的地方好像收货都比较慢。

在京东购物

而我们在京东上买自营产品的话,它会根据我们的收货地点,在全国范围内找离我们最近、送达最快的仓库,不管我们在江浙沪,还是新疆西藏内蒙古,我们的收货时间都会大大减少。京东的物流体系就类似于 CDN。

从上面这个例子我们可以大致了解 CDN 的基本原理,即将相关静态资源放在各地的 CDN 服务器。

CDN 的优势

  1. CDN 节点解决了跨运营商和跨地域访问的问题,访问延时大大降低;
  2. 大部分请求在 CDN 边缘节点完成,CDN 起到了分流作用,减轻了源站的负载;
  3. 降低“广播风暴”的影响,提高网络访问的稳定性;节省骨干网带宽,减少带宽需求量。

访问速度快是电商网站取胜的必要法宝之一。

CDN 的核心点有两个: 一个是缓存,一个是回源。

缓存

将从根服务器请求来的资源按要求缓存。

回源

当有用户访问某个资源的时候,如果被解析到的那个 CDN 节点没有缓存响应的内容,或者是缓存已经到期,就会回源站去获取。没有人访问,CDN 节点不会主动去源站请求资源。

关键技术

  1. 内容发布:它借助于建立索引、缓存、流分裂、组播(Multicast)等技术,将内容发布或投递到距离用户最近的远程服务点(POP)处;
  2. 内容路由:它是整体性的网络负载均衡技术,通过内容路由器中的重定向(DNS)机制,在多个远程 POP 上均衡用户的请求,以使用户请求得到最近内容源的响应;
  3. 内容交换:它根据内容的可用性、服务器的可用性以及用户的背景,在POP的缓存服务器上,利用应用层交换、流分裂、重定向(ICP、WCCP)等技术,智能地平衡负载流量;
  4. 性能管理:它通过内部和外部监控系统,获取网络部件的状况信息,测量内容发布的端到端性能(如包丢失、延时、平均带宽、启动时间、帧速率等),保证网络处于最佳的运行状态。

前端往往认为 CDN 是不需要了解的知识。可是我们前端工程首先是软件工程师。多了解一些东西肯定是有益的。

CDN & 静态资源

静态资源本身具有访问频率高、承接流量大的特点,因此静态资源加载速度始终是前端性能的一个非常关键的指标。CDN 是静态资源提速的重要手段。

淘宝

【前端词典】CDN 带来这些性能优化

京东

【前端词典】CDN 带来这些性能优化

掘金

【前端词典】CDN 带来这些性能优化

我们随手打开一个网站点开一个静态资源,可以看到它都是从 CDN 服务器上请求来的。可以看出 “静态资源走 CDN” 是最佳实践。

CDN & Cookie

【前端词典】CDN 带来这些性能优化

我们知道 Cookie 和域名是紧密联系的。即同一个域名下的所有请求,都会携带一个相同的 Cookie(设置不当就会非常大)。

静态资源往往并不需要 Cookie

携带的认证信息等,静态资源一般是不需要的。把静态资源和主页面置于不同的域名下,就可以完美地避免请求中携带不必要的 Cookie。

这也是 CDN 带来的另一个好处。

最后给大家放一张直观图,给大家对比下 CDN 服务部署前后的区别:

【前端词典】CDN 带来这些性能优化

最后

如果你想进【大前端交流群】,可以关注公众号点击“交流加群”添加机器人自动拉你入群。关注我第一时间接收最新干货。

【前端词典】CDN 带来这些性能优化

今天的文章【前端词典】CDN 带来这些性能优化分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/19991.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注