1. CDN 简介


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

分析 img.alibaba.com 域名

  • 执行 dig 命令,输出如下

  • 假如没有安装,执行一下命令安装:

    yum install bind-utils
    

2. CDN 主要特点


  • 本地 Cache 加速:提高了企业站点(尤其含有大量图片和静态页面站点)的访问速度,并大大提高以上性质站点的稳定性。

  • 镜像服务:消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中的用户都能得到良好的访问质量。

  • 远程加速:远程访问用户根据 CDN 负载均衡技术智能自动选择 Cache 服务器,选择最快的 Cache 服务器,加快远程访问的速度。

  • 带宽优化:自动生成服务器的远程 Mirror(镜像)Cache 服务器,远程用户访问时从 Cache 服务器上读取数据,减少远程访问的带宽、分担网络流量、减轻原站点 WEB 服务器负载等功能。

  • 集群抗攻击:广泛分布的 CDN 节点加上节点之间的智能冗余机制,可以有效地预防黑客入侵以及降低各种 D.D.o.S 攻击对网站的影响,同时保证较好的服务质量。

3. CDN 服务模式


内容分发服务器(CDN)是一个经策略性部署的整体系统。包含 3 个要件。

  • 分发服务系统:最基本的工作单元就是 Cache 设备,Cache(边缘 Cache)负责直接响应最终用户的访问请求,把缓存在本地的内容快速地提供给用户。同时 Cache 还负责与源站点进行内容同步,把更新的内容以及本地没有的内容从源站点获取并保存在本地。
  • 负载均衡系统:主要功能是负责对所有发起服务请求的用户进行访问调度,确定提供给用户的最终实际访问地址。两级调度体系分为全局负载均衡(GSLB)和本地负载均衡(SLB)。GSLB 主要根据用户就近性原则,通过对每个服务节点进行“最优”判断,确定向用户提供服务的 Cache 的物理位置。SLB 主要负责节点内部的设备负载均衡。
  • 运营管理系统:分为运营管理和网络管理子系统,负责处理业务层面的与外界系统交互所必须的收集、整理、交付工作,包含客户管理、产品管理、计费管理、统计分析等功能。

4. CDN 工作流程


常规 WEB 请求处理流程

  1. 用户在自己的浏览器中输入要访问的网站域名。
  2. 浏览器向本地 DNS(域名解析服务器)服务器请求对该域名的解析。
  3. 本地 DNS 服务器中如果缓存有这个域名的解析结果,则直接响应用户的解析请求。
  4. 本地 DNS 服务器中如果没有关于这个域名的解析结果的缓存,则以递归方式向整个 DNS 系统请求解析,获得应答后将结果反馈给浏览器。
  5. 浏览器得到域名解析结果,就是该域名相应的服务设备的 IP 地址。
  6. 浏览器向服务器请求内容。
  7. 服务器将用户请求内容传送给浏览器。

引入 CDN 后 Web 请求处理流程

  1. 当用户点击网站页面的内容 URL,经过本地 DNS 系统解析,DNS 系统会最终将域名的解析权交给 CNAME 指向的 CDN 专用 DNS 服务器。
  2. CDN 的 DNS 服务器将 CDN 的全局负载均衡设备 IP 地址返回给用户。
  3. 用户向 CDN 的全局负载均衡设备发起内容 URL 访问请求。
  4. CDN 全局负载均衡设备根据用户 IP 地址,及用户请求的内容 URL,选择一台用户所属区域负载均衡设备,让用户向这台设备发起请求。
  5. 区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务。
  6. 用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。
  7. 如果这台缓存服务器上并没有用户想要的内容,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的原服务器将内容拉到本地。

5. CDN 关键技术


缓存算法

  • 缓存代理软件:Squid
  • 缓存算法决定命中率、源服务器压力、FTP 节点存储能力。

分发能力

  • 分发能力取决于 IDC 能力和 IDC 策略性分布。

负载均衡

  • 负载均衡软件:Nginx
  • 负载均衡(智能调度)决定最佳路由、响应时间、可用性、服务质量。

基于 DNS

  • DNS 服务器软件:BIND

    • 基于 DNS 的负载均衡以 CNAME 实现域名中转,智取最优节点服务。
    • 缓存点有客户端浏览器缓存、本地 DNS 服务器缓存。
    • 缓存内容有 DNS 地址缓存、客户请求内容缓存、动态内容缓存。

支持协议

  • 支持协议如静动态加速(图片加速、http 带证书加速)、下载加速、流媒体加速、企业应用加速、手机应用加速。

044. 使用 CDN 实现应用的缓存和加速相关推荐

  1. 使用CDN实现应用的缓存和加速

    CDN简介 全称为Content Delivery Network 内容分发网络 CDN是构建在网络上的内容分发网络. CDN使用户就近获取所需内容,降低网络拥塞,提高访问响应速度和命中率. CDN依 ...

  2. 缓存系列之二:CDN与其他层面缓存

    缓存系列之二:CDN与其他层面缓存 一:内容分发网络(Content Delivery Network),通过将服务内容分发至全网加速节点,利用全球调度系统使用户能够就近获取,有效降低访问延迟,提升服 ...

  3. html cdn不缓存,【前端开发日常 - 6】七牛CDN上的网页缓存问题及HTML禁止缓存(续)...

    需求背景 紧接着之前的内容[前端开发日常 - 5]七牛CDN上的网页缓存问题及HTML禁止缓存. 由于七牛CDN无法通过设置对单独的文件修改,而只能通过对 bucket 的统一设置修改 max-age ...

  4. Nginx自建CDN以及ngx_cache_purge清除缓存

    Nginx自建CDN在<智能解析 + Nginx反向代理,自建CDN加速节点>已经介绍过,有兴趣的童鞋可参考,不过可以在这篇文章基础上继续完善,比如添加ngx_cache_purge模块来 ...

  5. 华为云CDN服务,满足你对加速的迫切需求!

    华为云CDN服务,满足你对加速的迫切需求! 随着互联网的快速发展,用户可以通过手机浏览更丰富的内容,交互形式变得更加多样.同时,基于Internet环境下的数据传输也越来越频繁,这对于网络资源的利用率 ...

  6. 华为云CDN智能加速,为你开启加速新世界!

    与移动互联网刚刚起步阶段相比,互联网应用形态已经发生翻天覆地的变化,尤其是手机端的APP和社交媒体等内容形式日益丰富.在这些新场景下,人们对于网络质量要求也不断提高,传统互联网技术难以满足这样一个需求 ...

  7. 阿里云CDN深度使用之缓存设置

    一直用阿里云CDN,开始也用过全站加速,因为部分原因最终用回了CDN,以为动态内容网站本身已经有缓存,今天主要说说,阿里云CDN的缓存是如何设置的. 之前不太了解缓存设置,只知道CDN是缓存静态文件, ...

  8. CDN还有这么多衍生品?! 云帆加速借技术创新笑傲短视频新蓝海

    [51CTO.com原创稿件]2017年已经悄然过半,回首这6个月的互联网,或蚕食或颠覆或变革,与越来越多的行业发生着化学反应.在诸多互联网热搜词中,"短视频"绝对可以牢牢占据前三 ...

  9. 极鹰云融合cdn用在云服务器如何加速

    极鹰云融合cdn怎么加速?CDN的分布式服务器称为边缘服务器,而这些服务器所在的位置称为节点.因此,当用户请求访问网站上的任何内容时,最近的边缘服务器将从原始服务器访问信息,并将所需的内容交付给用户. ...

最新文章

  1. php 物理路径,网站物理路径查找思路
  2. 12.1 LNMP架构介绍 12.2 MySQL安装 12.3/12.4 PHP安装 12.5 Nginx介绍
  3. [Angular 2] Nesting Elements in Angular 2 Components with ng-content (AKA Angular 2 Transclusion)
  4. mybatis 配置_配置Mybatis在Spring Boot工程中的整合
  5. 【渝粤教育】国家开放大学2018年春季 3924T★汽车电器设备构造与检修 参考试题
  6. 百度cdn几时能入币_影响汇率的因素有哪些
  7. Java毕设项目博雅楼自习室预约系统计算机(附源码+系统+数据库+LW)
  8. 大学生转入计算机专业申请书,计算机系大学生助学金申请书1000字
  9. java.lang.SecurityException: com.example.rxtest was not granted this permission: android.permission
  10. 微信开发者工具网页h5本地开发,解决微信公众号绑定域名,本地无法调用微信api问题
  11. 印度的软件神话真不能打破吗?
  12. 信息学奥赛一本通1379:热浪(heatwv) 图论dijkastra算法
  13. 抖音算法实习生面经(一面+二面)
  14. [数据压缩作业1]利用Audacity分析浊音、清音、爆破音|RGB文件三通道分量的熵计算
  15. 【微信篇】PC端微信文件夹里的“微信号“
  16. idea 使用exe4j生成exe文件并且附带jre运行环境(亲测有效)
  17. 微信小程序制作简单的商品列表页,实现价格求和
  18. 智能个性化推荐系统设计
  19. 未来大数据发展和就业前景:大数据人才缺口到底有多大?
  20. java毕业设计保险公司风险测评管理系统Mybatis+系统+数据库+调试部署

热门文章

  1. 把《把时间当作朋友》读薄
  2. 读书笔记_009 《与神对话》
  3. ArcGIS基于爬虫数据绘制人口分布密度图
  4. 关于*.ttf *.otf * .ttc等字体格式转换成我们想要的css文件
  5. Flink窗口+触发器 ,实现定时、定量批量写入Hbase不同的表
  6. 【第59题】输入、输出系列7-压缩文件相关技术2
  7. 修改服务器3389 端口号,修改服务器3389端口为其它端口
  8. 三级管的三种工作状态
  9. 向左还是向右?Unity中俯视视角下人物智能转向的控制方法
  10. 高可用集群下的负载均衡(6):haproxy实现访问不同资源的负载均衡(日志、监控、acl访问控制的配置)