如何使用 CDN 实现应用的缓存和加速

1. CDN 简介


  • CDN 的全称是 Content Delivery Network,即内容分发网络。

  • CDN 是构建在网络之上的内容分发网络。

  • CDN 使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。

  • CDN 依靠部署在各地的边缘服务器,包括中心平台的负载均衡、内容分发、调度等功能模块。

如何使用 CDN 实现应用的缓存和加速

分析 img.alibaba.com 域名
  • 执行 dig 命令,输出如下

如何使用 CDN 实现应用的缓存和加速

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

    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 主要负责节点内部的设备负载均衡。

  • 运营管理系统:分为运营管理和网络管理子系统,负责处理业务层面的与外界系统交互所必须的收集、整理、交付工作,包含客户管理、产品管理、计费管理、统计分析等功能。

如何使用 CDN 实现应用的缓存和加速

4. CDN 工作流程


常规 WEB 请求处理流程
  1. 用户在自己的浏览器中输入要访问的网站域名。

  2. 浏览器向本地 DNS(域名解析服务器)服务器请求对该域名的解析。

  3. 本地 DNS 服务器中如果缓存有这个域名的解析结果,则直接响应用户的解析请求。

  4. 本地 DNS 服务器中如果没有关于这个域名的解析结果的缓存,则以递归方式向整个 DNS 系统请求解析,获得应答后将结果反馈给浏览器。

  5. 浏览器得到域名解析结果,就是该域名相应的服务设备的 IP 地址。

  6. 浏览器向服务器请求内容。

  7. 服务器将用户请求内容传送给浏览器。

如何使用 CDN 实现应用的缓存和加速

引入 CDN 后 Web 请求处理流程
  1. 当用户点击网站页面的内容 URL,经过本地 DNS 系统解析,DNS 系统会最终将域名的解析权交给 CNAME 指向的 CDN 专用 DNS 服务器。

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

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

  4. CDN 全局负载均衡设备根据用户 IP 地址,及用户请求的内容 URL,选择一台用户所属区域负载均衡设备,让用户向这台设备发起请求。

  5. 区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务。

  6. 用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。

  7. 如果这台缓存服务器上并没有用户想要的内容,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的原服务器将内容拉到本地。

如何使用 CDN 实现应用的缓存和加速

5. CDN 关键技术


缓存算法
  • 缓存代理软件:Squid

  • 缓存算法决定命中率、源服务器压力、FTP 节点存储能力。

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

负载均衡
  • 负载均衡软件:Nginx

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

基于 DNS
  • DNS 服务器软件:BIND

    • 基于 DNS 的负载均衡以 CNAME 实现域名中转,智取最优节点服务。

    • 缓存点有客户端浏览器缓存、本地 DNS 服务器缓存。

    • 缓存内容有 DNS 地址缓存、客户请求内容缓存、动态内容缓存。

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

原创文章,作者:MKCCU,如若转载,请注明出处:http://www.wangzhanshi.com/n/12278.html

(0)
MKCCU的头像MKCCU
上一篇 2025年1月1日 17:07:09
下一篇 2025年1月1日 17:07:11

相关推荐

  • 怎么使用Nginx反向代理与proxy_cache缓存搭建CDN服务器

    碰到问题:移动用户访问web服务器www.osyunwei.com很慢解决办法:1、在移动机房放置一台nginx反向代理服务器2、通过域名dns智能解析,所有移动用户访问www.o…

    2025年1月1日
  • cdn好不好?有什么好处?

    用户在购买网站那些事的CDN服务之后,在使用过程中会比较关心是否有实际效果,首先大家要先确保是否已经开通成功,然后按照基本步骤添加加速域名、配置CNAME,这些都成功搞定之后,接下…

    2025年1月1日
  • cdn收费方式有几种

    网站那些事内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。网站那些事CDN…

    2025年1月1日
  • 如何用CDN防篡改、抗攻击、控内容

    CDN经过10多年的技术沉淀和实践,已经从传统的加速,逐渐构筑起一个边缘+云的安全网络立体防护体系,从全链路安全传输、常见攻击类型的边缘防御、企业级独享资源部署、运维以及内容安全保…

    2025年1月1日
  • cdn加速的原理及步骤

    网站那些事内容分发网络。其基本思路是避开互联网上可能影响数据传输速度和稳定性的瓶颈和链接,从而使内容传输更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一…

    2025年1月2日
  • 高防服务器与高防CDN有什么区别?

    高防CDN: 即内容分流网络流量防御,原理就是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,而…

    CDN加速 2025年1月2日
  • cdn的概念是什么

    网站那些事内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。网站那些事CDN…

    2025年1月1日
  • 视频聊天app开发借助CDN的哪些服务功能

    直播行业的兴起加之各大直播平台对于CDN加速的需求量变大,在进行一对一视频聊天app开发时,不仅要保护数据的安全,还要实时把控直播内容和丰富的特色功能。对于这些用户需求,就需要找到…

    2025年1月1日
  • jquery中cdn的作用

    网站那些事内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。网站那些事CDN…

    2025年1月1日
  • 访问cdn获取基本信息有问题该怎么处理

    用户在购买网站那些事的CDN服务之后,在使用过程中会比较关心是否有实际效果,首先大家要先确保是否已经开通成功,然后按照基本步骤添加加速域名、配置CNAME,这些都成功搞定之后,接下…

    2025年1月1日

发表回复

登录后才能评论