JSDelivr 镜像站 分发工作原理

可能有很多人还是不了解架构那么我在这里演示一下

JSDelivr 镜像站 分发工作原理

业务源站域名为 cdn.jsdmirror.com,域名接入 CDN 加速服务后,当您发起 HTTP 请求时,会先发起DNS解析请求获取最优的访问IP,之后再向获取的访问IP发起内容请求,实际请求完整过程如下:

JSDelivr 镜像站 分发工作原理-jsdelivr镜像站

1.用户在网站或APP请求 cdn.jsdmirror.com下的某资源(如/npm/ayao520/test.png,index.php,/npm/ayao520/yaoyaoxiaokeai.js),会先向本地DNS发起域名解析请求。

2.本地DNS检查缓存中是否有cdn.jsdmirror.com的IP地址记录:如果有缓存则直接返回给终端用户,若没有缓存则向授权DNS查询cdn.jsdmirror.com解析。

3.授权DNS服务器解析cdn.jsdmirror.com,发现域名已经解析到了CNAME:cdn.jsdmirror.com.fusioncdn.cn,并响应给本地服务器。

4.本地服务器发起cdn.jsdmirror.com.fusioncdn.cn解析请求,当前镜像站请求被指向白山CDN全球智能调度系统。

5.CDN智能调度系统对域名进行智能解析,将离用户最近的响应速度最快的CDN节点IP地址返回给本地DNS。

6.用户获取响应速度最快的CDN节点IP地址。

7.用户网站或APP在得到最佳节点的IP地址以后,向CDN边缘节点发出访问请求。

8.如果该边缘节点IP服务器已有缓存该资源,节点将数据直接返回给用户(如12),若无缓存则向白山中间源请求内容。

9.若中间源服务器已有缓存该资源,节点将数据直接返回给边缘节点(如11),若无缓存则向客户源服务器请求内容。

9.1 当用户访问非jsdelivr加速项目的时候CDN系统回源腾讯云轻量应用服务器加载镜像站前端,并且缓存部分资源

9.2 当用户访问jsdelivr加速项目的时候CDN系统判断非图片/视频格式回源香港云函数,若有缓存则向白山中间源提供资源,若无缓存则向云函数服务器请求内容,当云函数确认没有缓存则触发9.2.1回官方拉取资源。

9.3 当用户访问jsdelivr加速项目的时候CDN系统判断图片/视频格式回源香港COS, 若有资源则向白山中间源提供资源并要求缓存,若cos内无当前则白山中间源向香港cos服务器请求内容,当香港cos确认没有当前文件则触发9.3.1回广州COS拉取资源,广州cos如果确认有当前资源则向香港cos提供相关资源,反之没有的话我们会尝试去国际站镜像站拉相关资源,为避免拉取过程中导致资源异常我们302,在如果广州cos如果确认没有,触发9.3.2向让广州轻量帮忙进行URL转码 ,触发9.3.3获取资源,进行9.3.5操作 然后广州轻量向广州COS发送数据,由广州COS审核内容 审核通过则设置200状态码,审核不通过则设置400状态码,文件被冻结,用户再次访问的时候,香港cos确认没有没有该资源则触发9.3.6回广州COS拉取资源并且再次审核 , 只有文件正常状态下才能正常获取,也就是非冻结状态,也就是审核通过的,香港也是有审核的,如果复审审核不通过则设置400状态码文件被冻结,当用户第3次访问状态码为200的资源可以正常加载,400状态码的需要找管理员审核解封,也就是说你必须要过两次审核才能正常加载,后续等于稳定运营之后只用审核一次

(图片整个过程约1分钟,视频根据大小决定)

10.根据不同内容源站组在向白山中间源返回数据。

11.白山中间源获取响应内容,并缓存数据,同时将内容响应给边缘节点。

12.边缘节点获取数据,并缓存,同时将内容响应给用户。

温馨提示: 本文最后更新于2024-06-07 22:29:49,某些文章具有时效性,若有错误或已失效,请在下方 留言或联系 jsdelivr镜像站

你已经到达了世界的尽头

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容