什么是CDN,CDN的作用是什么?

news2024/9/28 17:24:45

CDN

CDN英文全称Content Delivery Network,即为内容分发网络。它是建立并覆盖在承载网之上,将内容存储在分布式的服务器上,使⽤户可以从距离较近的服务器获取所需的内容,从⽽减少数据传输的时间和距离,提⾼内容的传输速度、减少延迟和提升⽤户体验。

CDN的应用

CDN应用广泛,支持多种行业、多种场景内容加速,例如:图片小文件、大文件下载、视音频点播、直播流媒体、全站加速、安全加速。

CDN的工作流程

  1. 当⽤户输⼊⼀个域名或点击⼀个链接时,⾸先会进⾏域名解析。如果网站启⽤了 CDN,DNS 解析会返回距离⽤户最近的 CDN 节点的 IP 地址,⽽不是原始源服务器的 IP 地址。
  2. ⽤户的请求会被路由到距离最近的 CDN 节点,并且CDN 节点可以根据服务器的负载和可⽤性,动态地将请求分发到最适合的服务器节点上。
  3. CDN 会⾸先检查是否已经缓存了该资源。如果有缓存,CDN 节点会直接返回缓存的资源,如果没有缓存所需资源,它会从源服务器(原始服务器)回源获取资源,并将资源缓存到节点中,以便以后的请求。
    在这里插入图片描述

例如:点击

在这里插入图片描述

假设通过CDN加速的域名为www.a.com,接入CDN网络,开始使用加速服务后,当终端用户(北京)发起HTTP请求时,处理流程如下:

  1. 当终端用户(北京)向www.a.com下的指定资源发起请求时,首先向LDNS(本地DNS)发起域名解析请求。
  2. LDNS检查缓存中是否有www.a.com的IP地址记录。如果有,则直接返回给终端用户;如果没有,则向授权DNS查询。
  3. 当授权DNS解析www.a.com时,返回域名CNAME www.a.tbcdn.com对应IP地址。
  4. 域名解析请求发送至阿里云DNS调度系统,并为请求分配最佳节点IP地址。
  5. LDNS获取DNS返回的解析IP地址。
  6. 用户获取解析IP地址。
  7. 用户向获取的IP地址发起对该资源的访问请求。
  8. 如果该IP地址对应的节点已缓存该资源,则会将数据直接返回给用户,例如,图中步骤7和8,请求结束。
  9. 如果该IP地址对应的节点未缓存该资源,则节点向源站发起对该资源的请求。获取资源后,结合用户自定义配置的缓存策略,将资源缓存至节点,例如,图中的北京节点,并返回给用户,请求结束。

CDN是如何加速的

  1. 就近访问:CDN 在全球范围内部署了多个服务器节点,当⽤户请求访问⼀个网站时,CDN 会选择距离⽤户最近的节点来提供内容。这减少了数据传输的距离和时间,从⽽降低了延迟。
  2. 内容缓存:CDN 节点会缓存静态资源,如图⽚、样式表、脚本等。当⽤户请求访问这些资源时,CDN 可以直接从缓存中返回,避免了从源服务器获取资源的延迟。
  3. 前置缓存:CDN 可以根据网站的配置,提前将热门的内容缓存在节点中,以备用户请求时快速响应。
  4. 智能负载均衡:CDN 会根据服务器的负载和可用性,动态地将请求分发到合适的服务器节点上,确保资源的快速获取。
  5. 压缩技术:CDN 使⽤压缩技术对内容进⾏压缩,减少传输数据的大小,从⽽加快内容的传输速度。
  6. 并行下载:由于 CDN ⽀持多路复⽤,⽤户可以在同⼀个连接上同时下载多个资源,从而提⾼并行下载的效率。

CDN主要运用场景:

  • 物理距离远,多次网络转发,延时高不稳定;
  • 所在运营商不同,需运营商之间转发绕行;
  • 网络带宽处理能力有限,海量请求时,响应速度与可用性降低。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2052463.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Java的同城宠物服务预约系统的设计与实现---附源码78744

摘要 随着人们对宠物的喜爱和关注度不断增加,对宠物服务的需求也日益增长。为了提供更便捷、高效的宠物服务,设计并实现了一款基于 Java 的同城宠物服务预约系统。 本系统旨在满足宠物主人对各种宠物服务的需求,同时为宠物服务提供者提供一个…

C++ 设计模式——抽象工厂模式

抽象工厂模式 抽象工厂模式 抽象工厂模式主要组成部分代码实现抽象工厂模式模式的 UML 图抽象工厂模式 UML 图解析优点和缺点适用场景 抽象工厂模式提供一个接口,用于创建一系列相关或相互依赖的对象,而无需指定它们的具体类。它通常用于需要创建多个产品…

电脑怎么截图?截屏电脑快捷键ctrl加什么?

截图是我们日常使用电脑过程中非常常见的操作之一。无论是想保存有用的信息、分享有趣的内容,还是记录某个错误信息,截图都是一个简单而有效的方式。但是,不同的操作系统和需求会决定使用不同的方法来截图。接下来,我们将详细介绍…

opencascade Bnd_Range源码学习区间计算

opencascade Bnd_Range 前言 这个类描述了由两个实数值限定的 1D 空间中的区间。 一个区间可以是无效的,这表示区间中不包含任何点。 方法 1 默认构造函数。创建一个无效区间。 Bnd_Range() ; 2 构造函数。创建最小最大值区间 Bnd_Range(const Sta…

使用LoRA对Llama3微调

使用LoRA(Low-Rank Adaptation of Large Language Models)技术对Llama-3语言模型进行微调。 理论知识参考百度安全验证 微调的前提条件 现在huggingface上下载llama2或llama3的huggingface版本。 我下载的是llama-2-13b-chat。 大语言模型微调方法 …

ComfyUI的部署,Ubuntu22.04系统下——点动科技

在服务器Ubuntu22.04系统下,ComfyUI的部署 一、ubuntu22.04基本环境配置1.1 更换清华Ubuntu镜像源1.2 更新包列表:2. 安装英伟达显卡驱动2.1 使用wget在命令行下载驱动包2.2 更新软件列表和安装必要软件、依赖2.2 卸载原有驱动2.3 安装驱动2.4 安装CUDA2…

【实战】分组校验

在实际的业务场景中同一个Entity的校验可能会有不同的规则,比如添加数据品牌id必须为空,而更新数据品牌Id必须不为空,针对这种情况我们需要使用分组校验来实现 在Entity中指定分组规则 使用 /*** 保存*/RequestMapping("/save")pub…

[STM32]如何正确的安装和配置keil?(详细)

一、我们为什么需要keil? 对于嵌入式开发的硬件来讲STM32可以说有着不可撼动的地位,它可能是很多人入门嵌入式开发接触到的第一款芯片,其强大的生态和大量开放的源代码也深受开发者的喜爱。对于嵌入式开发的软件来讲,keil绝对是在一届软件中…

知识竞赛中限时答题环节竞赛规则有哪些设计方案

限时答题在知识竞赛活动中是一个比较新颖的玩法,通过在一定时间内快速答题来提高现场紧张气氛,达到很好的现场效果。这种方式要求选手不但要答题正确,还要答题速度。那么,常用的限时答题环节规则应怎么设计呢?下面列出…

智能数字矿山钻机机械设备类网站模板

智能数字矿山钻机设备类网站模板,非常高端大气上档次!易优内容管理系统是一套专注中小型企业信息传播解决方案的管理系统,更是一套后台管理框架,可以通过个性定制导航入口,扩展前端多个场景,比如可以用于小…

后端开发刷题 | 链表内指定区间反转【链表篇】

描述 将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转,要求时间复杂度 O(n)O(n),空间复杂度 O(1)O(1)。 例如: 给出的链表为 1→2→3→4→5→NULL1→2→3→4→5→NULL, m2,n4 返回 1→4→3→2→5→NULL 数据范围: 链表…

【Linux】【系统纪元】Linux基础指令

快乐的流畅:个人主页 个人专栏:《C游记》《进击的C》《Linux迷航》 远方有一堆篝火,在为久候之人燃烧! 文章目录 引言一、文件管理1.1 ls1.2 pwd1.3 cd1.4 mkdir1.5 touch1.6 rm1.7 cp1.8 mv 二、文件输出2.1 echo2.2 cat2.3 less…

新学期新动力,以骨传导耳机开启健康音乐之旅

大学生快开学啦!激励自己在学期的状态给自己准备一个礼物应该不过分吧,相信没有大学生能够没有耳机!不管是在赶早八的路上也要放收歌来醒醒神,还是日常散步不那么单调,使用频率都很高,但是入耳式的蓝牙耳机…

Stable Diffusion 提示词插件:开启个性化艺术创作大门,探索AI绘画新境界。让灵感枯竭再无可能!

前言 之前的文章介绍了提示词的基础用法和进阶用法,东西很多很复杂,那么非程序员相关行业的人员,对字符不敏感怎么办? 没关系,今天我来介绍几款提示词插件,可以大大提升 Stable Diffusion 的使用效率。 …

微信怎么恢复聊天记录?轻松4招,恢复消失的聊天记录

微信聊天记录不仅是日常沟通的桥梁,更是珍贵记忆的储存库。然而,误删、系统故障或设备更换等意外情况,时常让我们的聊天记录瞬间消失,给我们留下遗憾。面对这一挑战,微信怎么恢复聊天记录成为许多人的迫切需求。幸运的…

opensuse leap15安装配置

opensuse leap15安装配置 查看opensuse leap15安装完成后的基本配置关闭SELinux禁用AppArmor 关闭firewalld防火墙关闭polki服务(非必须)tuned服务安装必备软件 查看opensuse leap15安装完成后的基本配置 默认开启了防火墙默认开启了Linux安全模块 关闭…

day34 代码随想录 | 不同路径 整数拆分

不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径&#xff1f…

第37讲:Cephfs文件系统的正确使用姿势

文章目录 1.Cephfs文件系统简介2.Cephfs文件系统细节介绍2.1.Cephfs文件系统多客户端隔离挂载2.2.Ceph集群中多个Cephfs如何单独使用 3.挂载多个Cephfs文件系统4.Cephfs文件系统多客户端隔离挂载实战4.1.创建一个Cephfs文件系统4.2.将Cephfs文件系统挂载到本地路径4.3.在Cephfs…

JavaWeb - 认识web开发

JavaWeb Java和JavaWeb是两个不同的概念,它们在范围和应用上有所区别: Java: 定义:Java是一种面向对象的编程语言,由Sun Microsystems公司(现已被Oracle收购)于1995年推出。应用范围&#xff1…

易企秀场景秀源码系统全新升级,方便制作各种Html5应用的制作工具 带完整的安装代码包以及搭建部署教程

系统概述 在当今数字化的时代,Html5 应用已经成为了展示和传播信息的重要方式。而在众多的制作工具中,易企秀场景秀源码系统以其全新升级的功能和便捷性,吸引了众多用户的目光。它不仅为用户提供了方便制作各种 Html5 应用的工具&#xff0c…