什么是CDN

CDN (Content Delivery Network) 可直译成内容分发网络。CDN的本质仍然是利用缓存技术缓存, 解决的是如何将数据快速可靠从源站传递到用户的问题。用户获取数据时,不需要直接从源站获取,通过CDN对于数据的分发,用户可以从一个较优的服务器获取数据,从而达到快速访问,并减少源站负载压力的目的。

CDN部署静态内容:JavaScript脚本、CSS样式表、图片、图标、Flash等,不包括html页面。

CDN加速动机

为什么不从源站进行数据的直接交付,即让用户直接从源站获取数据呢?
如果网络上的数据都使用从源站直接交付到用户的方法,那么将极有可能会出现访问拥塞的情况。
如果能有一种技术方案,将数据缓存在离用户最近的地方,使用户以最快的速度获取,那这对于减少网站的出口带宽压力,减少网络传输的拥堵情况,将起到很大的作用。CDN正是这样一种技术方案。

CDN原理

用户在通过浏览器访问未使用CDN加速的网站的大致过程如下:

  1. 用户在浏览器中输入要访问的域名。
  2. 浏览器向DNS服务器请求对该域名的解析。
  3. DNS服务器返回该域名的IP地址给浏览器。
  4. 浏览器使用该IP地址向服务器请求内容。
  5. 服务器将用户请求的内容返回给浏览器。

如果使用了CDN,则其过程会变成以下这样:

  1. 用户在浏览器中输入要访问的域名。

  2. 浏览器向DNS服务器请求对域名进行解析。由于CDN对域名解析进行了调整,DNS服务器会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。

  3. CDN的DNS服务器将CDN的负载均衡设备IP地址返回给用户。

  4. 用户向CDN的负载均衡设备发起内容URL访问请求。

  5. CDN负载均衡设备会为用户选择一台合适的缓存服务器提供服务。
    选择的依据包括:

    1. 根据用户IP地址,判断哪一台服务器距离用户最近;
    2. 根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;
    3. 查询各个服务器的负载情况,判断哪一台服务器的负载较小。

    基于以上这些依据的综合分析之后,负载均衡设置会把缓存服务器的IP地址返回给用户。

  6. 用户向缓存服务器发出请求。

  7. 缓存服务器响应用户请求,将用户所需内容传送到用户。

  8. 如果这台缓存服务器上并没有用户想要的内容,而负载均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉取到本地。

总结

在网站和用户之间引入CDN之后,用户不会有任何与原来不同的感觉。
使用CDN服务的网站,只需将其域名的解析权交给CDN的负载均衡设备,CDN负载均衡设备将为用户选择一台合适的缓存服务器,用户通过访问这台缓存服务器来获取自己所需的数据。
由于缓存服务器部署在网络运营商的机房,而这些运营商又是用户的网络服务提供商,因此用户可以以最短的路径,最快的速度对网站进行访问。因此,CDN可以加速用户访问速度,减少源站中心负载压力。

服务器端性能优化之CDN相关推荐

  1. 【HTML】前端性能优化之CDN和WPO的比较

    CDN通过将资源存储在更接近用户的位置,缩短到服务器的往返行程,加快页面加载时间来解决性能问题.WPO解决方案,如Radware的FastView,则在前端进行性能提升处理,使页面更有效地呈现在浏览器 ...

  2. 怎么删除已经安装的mysql_怎么样删除已经安装的mysql | wdlinux致力于Linux服务器架构,性能优化.免费CDN加速系统,免费智能DNS解析,负载均衡,集群分流...

    [root@localhost ~]# rpm -qa|grep mysql php-mysql-5.1.6-27.el5 mysql-5.0.77-4.el5_5.3 perl-DBD-mysql- ...

  3. 前端性能优化之——CDN优化加载

    CDN优化加载 前言 一.查找资源 二.资源引入 三.添加配置 vue3配置 vue2配置 四.去掉原有的引用 拓展1:vue3.0和vue2.0的cdn包名称不一样 拓展2:element-ui 不 ...

  4. 谈谈前端性能优化-面试版

    前言 当我们去面试的时候,很大概率会被面试官问这么一个问题:你有尝试过对项目做性能优化吗?或者你了解哪些性能优化的方法?听到这个问题的你可能是这样的: 似曾相识但又说不清楚,往往只能零散地说出那么几点 ...

  5. 从宏观到细节为你讲解前端性能优化

    文章目录 前言 一.资源的合并和压缩 1.`html`压缩 2.`css`代码压缩 3.`js`压缩与混乱(丑化) 4.文件合并 二.图片相关的优化 1.图片压缩 2.`css`雪碧图 3.网页内联图 ...

  6. 前端系列主题:从宏观到细节为前端性能优化全方位讲解!

    本文转自:全栈成长之路 目录 前言 一.资源的合并和压缩 1.html压缩 2.css代码压缩 3.js压缩与混乱(丑化) 4.文件合并 二.图片相关的优化 1.图片压缩 2.css雪碧图 3.网页内 ...

  7. 前台性能和服务器性能是什么,前端性能优化指南[2]--什么是Web性能?

    一个大型网站架构模型如下图所示,对一个网站的性能进行优化,可以分为 Web 前端性能优化.应用服务器端性能优化.存储服务器端性能优化三层.网站的整体性能,需要所有开发者一同来维护. 大型网站架构模型 ...

  8. vue性能优化-------vendor优化详细用法(瘦身),减小体积,引入cdn

    vue性能优化-------vendor优化详细用法(瘦身),减小体积,引入cdn 原创ChrisWang_ 最后发布于2019-05-24 10:25:58 阅读数 1332  收藏 展开 vue性 ...

  9. 前端-网站性能优化——CDN加速

    前端-网站性能优化--CDN加速 网站性能优化是一个大活儿,按工种划分的话,分前端.后端和db等,作为一名前端工程师,这系列文章只聊前端工程师应该知道的关于网站性能优化的那些事儿.写此文章算是一个工作 ...

最新文章

  1. Unity3D 游戏引擎之脚本实现模型的平移与旋转(六)
  2. [Vue源码分析]自定义事件原理及事件总线的实现
  3. linux打开lua后中文有乱码,总结Lua使用中遇到的小问题
  4. tomcat中conf\Catalina\localhost目录下的J2EE项目META-INF配置文件
  5. CSS选择器优先级 12.28
  6. Webrtc半小时搭建视频通话 视频会议
  7. python获取图片大小_Python实现获取本地及远程图片大小的方法示例_python_脚本中心...
  8. 「opennurbs」我直接进行一个Opennurbs的手动编译
  9. 计算机课软件有哪些,电脑录课有哪些软件?
  10. IDEA启动Tomcat中文乱码(已解决)
  11. 48盘位 云存储服务器_搭建云存储NAS服务器的3个技巧
  12. 冯成毅:各类交易者的深度心理剖析
  13. Quartus软件及器件库下载及安装
  14. 直播系统开发应有的引流功能
  15. python 小学数学,一个小学的数学题
  16. PointGet的一生
  17. 【云原生系列】第一讲:什么是云计算
  18. 君正JZ4775芯片处理器介绍
  19. SVPWM算法理解(二)——关于非零基本矢量幅值和线电压幅值的解释
  20. 迈拓网络硬盘软件全攻略(1)基本介绍

热门文章

  1. mysql审计插件安装_MySQL审计插件安装使用说明文档--升级版
  2. CentOS7文本模式下配置及安装KVM虚拟机
  3. 《C程序员从校园到职场》一1.2 C语言的主要特点
  4. elasticsearch-analysis-ik-1.10.0中文分词插件安装
  5. 桌面虚拟化的架构模块化
  6. linux 软件_RansomExx勒索软件现在也针对Linux系统
  7. h264码流文件通过计算first_mb_in_slice区分帧边界
  8. mysql 偏移量是什么_数据块内部偏移量的基本计算方法
  9. Eclipse-报错:Could not create the Java virtual machine
  10. Linux 的内存分页管理