0

0

cdn缓存是什么

zbt

zbt

发布时间:2023-06-15 13:59:29

|

3289人浏览过

|

来源于php中文网

原创

cdn就是让原本的访问主站服务器的流量或者浏览器,去访问部署在理他较近的地方上的缓存服务器来处理,这样就可以大大减轻主服务器的压力,而且同时能够提高用户的访问速度,降低带宽的压力。

cdn缓存是什么

本教程操作环境:windows10系统、DELL G3电脑。

cdn简单来说,就是让原本的访问主站服务器的流量或者浏览器,去访问部署在理他较近的地方上的缓存服务器来处理,这样,就可以大大减轻主服务器的压力,而且同时能够提高用户的访问速度,降低带宽的压力。

一般需要cdn服务的网站会选择一下的组织方案:

1、通过租用的IDC提供额外的CDN服务;

2..购买专业的CDN服务商的服务;

3.自己组建CDN网络;成本依次增高。

Cdn设计的目的就是实现web内容的负载均衡,防止出现访问请求热点,延时响应,等情况,也可以用在游戏架构中,提高游戏的访问拉去资源的速度.

Cdn的特点:

1,分布式的存储,

2,通过智能的dns解析或者http重定向实现内容的分发的负载均衡,

3,全局负载均衡管理与内容管理,

Cdn的组成:

cdn网络中包含的功能实体包括了内容缓存设备,内容路由器,cdn内容管理系统等组成,

内容缓存:为CDN网络节点,位于用户接入点,是面向最终用户的内容提供设备,可缓存静态WEB内容和流媒体内容,实现内容的边缘传播和存储,以便用户的就近访问。

内容交换机: 处于用户接入集中点,可以均衡单点说个内容缓存设备的负载,并对内容进行负载均衡的访问控制.

内容路由器负责将用户的请求调度到适当的设备上,动态的均衡各个内容缓存站点的载荷分配,为用户的请求选择最佳的访问站点,同时来提高网站的可用性,内容路由器可根据多种因素制定路由,包括站点与用户的临近度、内容的可用性、网络负载、设备状况等.

注意:负载均衡是整个cdn的核心,负载均衡的准确性和效率将直接决定整个cdn的效率.

关于Objective
关于Objective

本文档主要讲述的是关于Objective-C手动内存管理的规则;在ios开发中Objective-C 增加了一些新的东西,包括属性和垃圾回收。那么,我们在学习Objective-C之前,最好应该先了解,从前是什么样的,为什么Objective-C 要增加这些支持。有需要的朋友可以下载看看

下载

Cdn缓存: cdn缓存就是一个给网络信号暂时存储的寄存器,在cdn数据库中会缓存这大量的网络请求信号,然后cdn数据库会根据目前网络服务器的状态,进行不同的网络请求信号的分配,这样就能够使得很多闲置的网络服务器也能够工作起来,.

Cdn的网络结构:

Cdn网络一般分为中心与边缘节点,中心负责全局的负载均衡管理与内容管理..

架构图:

这里cdn进行层级的划分: 在cdn系统中,负责给用户提供内容服务的cache设备都部署在整个cdn网络I边缘,所以成为边缘节点.

Cdn的中心层是负责全局的管理和控制,同时保存着最多的cache,当边缘层未命中时,就会将中心层进行请求,如果中心层也没有命中则向源站进行请求数据.如果源站返回给了中心层,或者说中心层本身有对应的数据返回给了边缘层,边缘就会返回给用户同时自己会在本地进行一份缓存.

如果系统比较庞大,边缘层向中心请求内容太多,则需要区域节点,进行代理,负责一个区域的管理和控制.

CDN的工作原理

Cdn网络是在用户和服务器之间增加了一层cache,如何将用户的请求引导到cache上,那么就需要用dns,通过dns的解析调整进行请求的一个转发.

大致的流程: 1,用户请求一个域名, 2,浏览器对域名进行解析,这里详细的dns解析过程就不在阐述,由于cnd对域名的解析过程进行了调整,通过函数解析库得到的是该域名对应的cname记录之后的域名,所以浏览器会再次对cname的域名进行访问,请求ip,这个过程中,使用全局的负载均衡策略进行dns解析,其中根据地理位置等信息解析到就近的位置上,让用户对它进行访问.

3,得到缓存的服务器的ip地址,浏览器发起访问请求,

4,缓存服务器根据请求通过cache内部专用的dns解析后,得到域名的真实ip,再向真实的服务器发送请求,请求对应的数据,

5,源站服务器发出应答数据,缓存服务器得到数据后,在本地进行缓存一份备用,然后返回给用户一份,完成流程.

内容分发技术:

截图20230615135627.png

当源站需要分发内容的时候,可以将分发内容分发到CDN中间源 再由CDN中间源转发内容到各个CDN节点 如果CDN节点需要请求某个URL内容请求时,会将请求先发送到CDN中间源 再由CDN中间源主动向源站发送请求内容,最后将获取到的数据存储到中间源和内容节点上,从而达到节点加速的效果.

主要分为两种方式,主动推送:源站服务器向各个节点推送最新数据,进行更新.

被动推送:被动访问就是在用户访问时,向镜像服务器发送请求,如果镜像服务器上有内容,就直接返回给用户,如果没有,就到服务器源站获取后在返回给用户.

同时cdn边缘节点上的内容不是实时更新的,文件是以键值对的方式进行存储的,键值对的key通常是文件的url,值中保存了文件在服务器中的位置,或者文件的二进制值,同时保存了文件的http头部信息.

相关专题

更多
什么是分布式
什么是分布式

分布式是一种计算和数据处理的方式,将计算任务或数据分散到多个计算机或节点中进行处理。本专题为大家提供分布式相关的文章、下载、课程内容,供大家免费下载体验。

327

2023.08.11

分布式和微服务的区别
分布式和微服务的区别

分布式和微服务的区别在定义和概念、设计思想、粒度和复杂性、服务边界和自治性、技术栈和部署方式等。本专题为大家提供分布式和微服务相关的文章、下载、课程内容,供大家免费下载体验。

234

2023.10.07

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

354

2023.06.29

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2076

2023.08.14

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

348

2023.08.31

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

255

2023.09.05

vb中怎么连接access数据库
vb中怎么连接access数据库

vb中连接access数据库的步骤包括引用必要的命名空间、创建连接字符串、创建连接对象、打开连接、执行SQL语句和关闭连接。本专题为大家提供连接access数据库相关的文章、下载、课程内容,供大家免费下载体验。

324

2023.10.09

数据库对象名无效怎么解决
数据库对象名无效怎么解决

数据库对象名无效解决办法:1、检查使用的对象名是否正确,确保没有拼写错误;2、检查数据库中是否已存在具有相同名称的对象,如果是,请更改对象名为一个不同的名称,然后重新创建;3、确保在连接数据库时使用了正确的用户名、密码和数据库名称;4、尝试重启数据库服务,然后再次尝试创建或使用对象;5、尝试更新驱动程序,然后再次尝试创建或使用对象。

411

2023.10.16

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

相关下载

更多

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
燕十八nginx精品视频教程
燕十八nginx精品视频教程

共23课时 | 7.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号