网站首页 > 技术教程 正文
题目:描述一下CDN的工作机制?
这个题目主要考查你对CDN工作原理的理解。
CDN是什么?
CDN(Content Delivery Network),翻译过来就是内容分发网络,是构建在现有网络之上的一种内容分发网络;它将网站的内容通过中心平台分发到部署在各地的边缘服务器进行缓存,再通过负载均衡技术将用户的请求转发到就近的服务器上去获取所需内容,降低网络堵塞,提供访问网站的响应速度和命中率。它不同于简单的镜像,体现在它的内容的存储和分发、负载均衡上面。
CDN的服务类型?
目前,CDN服务的类型根据其服务的内容主要分为网页加速、流媒体服务、文件传输加速和应用协议加速4类。
网页加速:主要用于缓存网站的静态数据,比如JS、CSS、图片和静态页面等。用户一般从主站获取动态内容后,再从cdn下载相应的静态数据,从而加快网页的下载速度。
流媒体服务:主要服务于视频网站,通过将流媒体内容推送到离用户最近的节点,使用户可以从网络边缘获取内容,从而缩短响应时间,提高视频传输质量,减小中心服务器的压力。
文件传输加速:通过使用CDN节点提供下载服务,来缓解文件下载带来的性能压力和带宽压力,提供用户下载速度。
应用协议加速:通过对TCP等传输协议的优化,改善和加速和改善用户在广域网上的内容传输速度。或者对一些特定协议,如SSL协议进行加速,解决安全传输时的性能和响应速度问题。
CDN的工作原理?
CDN是主要是通过接管DNS的方式来把请求引流到离用户最近的缓存服务器上面,如图所示:
详细过程:
用户向浏览器提供要访问的域名。
首先向Local DNS服务器发送请求,经过迭代解析后回到这个域名的注册服务器去解析,DNS域名解析服务器通常会把它重新解析到另一个域名,这个域名最终会指向CDN全局中的负载均衡服务器,再由GTM分配那个地方的用户访问那个地方的CDN服务器。
用户直接去这个DNS节点获得相应的静态资源,如果这个节点的文件不存在,就会再去源站获取这个文件,然后再返回给用户。
负载均衡是什么?
由于CDN同一节点内往往包括多台服务器,为取得服务器性能的最优,需要应用负载均衡技术。我们常说的负载均衡,是指处理节点的负载信息通过某代理软件传递给均衡器,由均衡器做出决策并对负载进行动态分配,从而使集群中各处理节点的负载相对趋于平衡。
负载均衡主要解决以下几个方面的问题:
为用户提供更好的访问质量。
提高服务器响应速度。
提高服务器及其他资源的利用效率。
避免了网络关键部位出现单点失效。
解决网络拥塞问题,服务就近提供,实现地理位置无关性。
负载均衡的常用算法:
轮转调度
加权轮转调度
随机均衡调度
加权随机均衡调度
最小连接调度
加权最小连接调度
目标地址散列调度
源地址散列调度
基于局部性的最少链接调度
带复制的基于局部性最少链接调度
响应速度均衡调度
处理能力均衡调度
DNS均衡调度
作者在此只是列举这些常见的负载均衡算法,如果感兴趣的读者,可以去查阅相关的资料了解一下。这些负载均衡算法,我们也会在分布式集群中用到,比如nginx、dubbo、spring cloud微服务等。
CDN怎么动态加速?
CDN的动态加速是在CDN的DNS解析过程中,通过动态的链路探寻出一条最优的路径,然后通过DNS的调度将所有请求调度到选定的这条路径上回源,从而加速用户访问速率。如图:
怎么来选择这么一条最优的路径呢?
每个cdn节点从源站上下载一个特定大小的文件,看看那个链路总耗时最短或者网络成本最小等,形成一个最优的链路列表,将其绑定到DNS解析上,更新到CDN的Local DNS。
CDN的衡量指标
可扩展:主要体现在性能可扩展和成本可扩展。
安全性:所提供的设备、网络、软件、数据和服务过程的安全性,能抵御DDOS等其它恶意攻击。
高可用:面对用户性能下降和故障问题时,能提供及时的容错机制。
如果读者希望了解更多关于CDN相关的知识,建议去读一下《内容分发网络(CDN)关键技术、架构与应用》。
如果觉得内容不错,可加入我们交流群634247407,记得点赞和关注我们哦!!!
猜你喜欢
- 2024-10-11 从网卡到应用层nginx,一个数据包经历了什么?
- 2024-10-11 双11服务崩溃,损失了1个亿...(双十一崩溃)
- 2024-10-11 什么是CDN?要不要用CDN?CDN能够做什么?
- 2024-10-11 CDN请求过程详解(cdn post请求)
- 2024-10-11 CDN是由什么组成的,整体的实现逻辑是怎么设计的?
- 2024-10-11 精通日志查询:如何翻页获取日志和计算结果
- 2024-10-11 云上的可观察性数据中台,如何构建?
- 2024-10-11 基于一次ContentDownload变慢而进行的网站性能优化
- 2024-10-11 Java核心知识 网络(五) CDN 原理(cdn技术详解)
- 2024-10-11 什么网站需要使用cdn(网站是否有必要使用cdn加速)
你 发表评论:
欢迎- 最近发表
-
- Win10 TH2正式版官方ESD映像转换ISO镜像方法详解
- 使用iso镜像升级到Windows 10的步骤
- macOS Ventura 13.2 (22D49) Boot ISO 原版可引导镜像
- 安利一个用ISO镜像文件制作引导U盘的的小工具RUFUS
- CentOS 7使用ISO镜像配置本地yum源
- 用于x86平台的安卓9.0 ISO镜像发布下载:通吃I/A/N、完全免费
- AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术
- Rufus写入工具简洁介绍与教程(写入模式)
- 新硬件也能安装使用了,Edge版Linux Mint 21.3镜像发布
- 开源工程师:Ubuntu应该抛弃32位ISO镜像
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)