cdn详解 很全面的

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 好记性不如烂笔头o(^▽^)o 此文主要作为初步接触CDN的学习和了解,查阅了一些资料,并按照自己的阅读习惯进行语言整理、分段和整合,参考资料见文末1,2。感谢文章贡献者,深入浅出。 CDN CDN 一定义二CDN网络结构三CDN工作原理四具体实例五关键技术 一、定义 背景: 当下的互联网应用都包含

好记性不如烂笔头o(^▽^)o

此文主要作为初步接触CDN的学习和了解,查阅了一些资料,并按照自己的阅读习惯进行语言整理、分段和整合,参考资料见文末1,2。感谢文章贡献者,深入浅出。

CDN

一、定义

背景:

当下的互联网应用都包含大量的静态内容,但静态内容以及一些准动态内容又是最耗费带宽的,特别是针对全国甚至全世界的大型网站,如果这些请求都指向主站的服务器的话,不仅是主站服务器受不了,单端口500M左右的带宽也扛不住,所以大多数网站都需要CDN服务。

CDN,Content Delivery Network,基于内容的分布式分发网络。 
那么什么是CDN服务? 
  简单的说CDN就是让原本上海的浏览器要访问北京主站内容的请求转而由部署在上海或南京的缓存来受理,这样请求的数据只需经过一跳或有限的几跳就能到达请求端,有效利用带宽并且降低主站压力,对于电子商务网站和搜索引擎网站以及门户网站,CDN的合理应用显得尤为重要。

一般需要CDN服务的网站会选择以下的组织方案: 
1.通过租用的IDC提供额外的CDN服务; 
2..购买专业的CDN服务商的服务; 
3.自己组建CDN网络;成本依次增高。

  CDN设计目的是实现WEB内容的负载均衡,防止出现访问请求热点,延时响应等WEB请求通病。基于此,CDN的特点可以说有 
1. 分布式存储 
2. 通过智能DNS解析或http重定向实现内容分发的负载均衡 
3. 全局负载均衡管理与内容管理

二、CDN网络结构

CDN网络一般分为中心与边缘节点两部分,中心负责全局负载均衡管理与内容管理;

中心节点的功能如下: 
1. 随时监控边缘节点的健康状况(可用性,拥塞程度); 
2. 根据边缘节点到请求端的距离,以及边缘节点的健康状况,按一定的策略重定向请求; 
3. 与客户主站进行数据同步。

三、CDN工作原理

传统的未加缓存服务的访问过程:

  1. 用户向浏览器提供要访问的域名;
  2. 浏览器调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址;
  3. 浏览器使用所得到的IP地址,域名的服务主机发出数据访问请求;
  4. 浏览器根据域名主机返回的数据显示网页的内容。

这里写图片描述

  CDN网络是在用户和服务器之间增加Cache层, 如何将用户的请求引导到Cache上获得源服务器的数据,主要是通过接管DNS实现,访问使用CDN缓存后的网站的过程:

  1. 用户向浏览器提供要访问的域名;
  2. 浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实 际IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,使用的全局负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得用户能就近访问。
  3. 此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的IP地址以后,向缓存服务器发出访问请求;
  4. 缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;
  5. 缓存服务器从实际IP地址得得到内容以后,一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程;

这里写图片描述

四、具体实例

1.用户向浏览器输入www.web.com这个域名,浏览器第一次发现本地没有dns缓存,则向网站的DNS服务器请求; 
2.网站的DNS域名解析器设置了CNAME,指向了www.web.51cdn.com,请求指向了CDN网络中的智能DNS负载均衡系统; 
3.智能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返回给用户; 
4.用户向该IP节点(CDN服务器)发出请求; 
5.由于是第一次访问,CDN服务器会向原web站点请求,并缓存内容; 
6.请求结果发给用户。

这里写图片描述

  当然很多细节没有涉及到,比如第1步,首先向本地的DNS服务器请求。第5步,内容淘汰机制(根据TTL)等。但原理大体如此。

  对于普通的Internet用户来讲,每个CDN节点就相当于一个放置在它周围的WEB。通过全局负载均衡DNS的控制,用户的请求被透明地指向离他最近的节点,节点中CDN服务器会像网站的原始服务器一样,响应用户的请求。由于它离用户更近,因而响应时间必然更快。

  每个CDN节点由两部分组成:负载均衡设备和高速缓存服务器 
  负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时,负载均衡设备还负责收集节点与周围环境的信息,保持与全局负载DNS的通信,实现整个系统的负载均衡。CDN的管理系统是整个系统能够正常运转的保证。它不仅能对系统中的各个子系统和设备进行实时监控,对各种故障产生相应的告警,还可以实时监测到系统中 总的流量和各节点的流量,并保存在系统的数据库中,使网管人员能够方便地进行进一步分析。通过完善的网管系统,用户可以对系统配置进行修改。

五、关键技术

  CDN的关键技术主要有内容路由技术、内容分发技术、内容存储技术、内容管理技术等。 
具体的我就不深究了,如有机会接触,再继续深入。


  1. http://www.voidcn.com/blog/xingdavis/article/p-3959211.html 
  2. http://www.cnblogs.com/shanfeng/p/5765562.html 


郑重申明:此文章转载自Summer_ZJU的csdn博客 ,原文链接 http://blog.csdn.net/xiaqunfeng123/article/details/52592448?locationNum=3

目录
相关文章
|
监控 搜索推荐 Java
高校学生管理系统 毕业设计 JAVA+Vue+SpringBoot+MySQL(一)
高校学生管理系统 毕业设计 JAVA+Vue+SpringBoot+MySQL
682 0
|
运维 监控 测试技术
130 秒揭秘 EDAS 3.0 如何平滑应对突发流量高峰,为您的业务保驾护航
EDAS3.0的云原生架构是如何满足真实场景下的流控难题和单点故障引起的交易成功率下降的问题的?
9796 103
130 秒揭秘 EDAS 3.0 如何平滑应对突发流量高峰,为您的业务保驾护航
|
12月前
|
JavaScript 开发者 UED
数据驱动方式的优缺点
【10月更文挑战第13天】 数据驱动是软件开发中,特别是在 Vue 等框架中的一种重要理念。它通过数据绑定简化代码结构,提高开发效率和可维护性,增强用户体验,促进团队协作,并提升性能和灵活性。然而,也存在初始学习成本高、数据绑定复杂、内存管理问题及调试难度大等挑战。总体而言,数据驱动在现代应用开发中具有显著优势,但也需谨慎应对潜在问题。
|
缓存 边缘计算 负载均衡
如何理解CDN?它的实现原理是什么?
如何理解CDN?它的实现原理是什么?
1613 0
|
6月前
|
运维 Cloud Native Serverless
仅3步!即刻拥有 QwQ-32B,性能比肩全球最强开源模型
本文详细介绍如何将 QwQ-32B 开源模型部署到函数计算 FC(Function Compute),并通过云原生应用开发平台 CAP(Cloud Application Platform)实现 Ollama 和 Open WebUI 两个 FC 函数的部署。
|
7月前
|
机器学习/深度学习 人工智能 数据可视化
无需微调!扩散模型新突破:Attentive Eraser高效稳定移除目标物体
最近,扩散模型在生成模型领域异军突起,凭借其独特的生成机制在图像生成方面大放异彩,尤其在处理高维复杂数据时优势明显。然而,尽管扩散模型在图像生成任务中表现优异,但在图像目标移除任务中仍然面临诸多挑战。现有方法在移除前景目标后,可能会留下残影或伪影,难以实现与背景的自然融合。
179 9
|
11月前
|
机器学习/深度学习 算法 数据可视化
使用Python实现深度学习模型:智能食品配送优化
使用Python实现深度学习模型:智能食品配送优化
274 2
|
人工智能 数据可视化 数据挖掘
基于GA-PSO遗传粒子群混合优化算法的CVRP问题求解matlab仿真
本文介绍了一种基于GA-PSO混合优化算法求解带容量限制的车辆路径问题(CVRP)的方法。在MATLAB2022a环境下运行,通过遗传算法的全局搜索与粒子群算法的局部优化能力互补,高效寻找最优解。程序采用自然数编码策略,通过选择、交叉、变异操作及粒子速度和位置更新,不断迭代直至满足终止条件,旨在最小化总行驶距离的同时满足客户需求和车辆载重限制。