前端面试当中CDN会问啥------CDN详细教程来啦
⼀、CDN
1. CDN的概念
CDN(Content Delivery Network,内容分发⽹络)是指⼀种通过互联⽹互相连接的电脑⽹络系统,利 ⽤最靠近每位⽤户的服务器,更快、更可靠地将⾳乐、图⽚、视频、应⽤程序及其他⽂件发送给⽤户, 来提供⾼性能、可扩展性及低成本的⽹络内容传递给⽤户。
典型的CDN系统由下⾯三个部分组成:
A.分发服务系统:最基本的⼯作单元就是Cache设备,cache(边缘cache)负责直接响应最终⽤户的 访问请求,把缓存在本地的内容快速地提供给⽤户。同时cache还负责与源站点进⾏内容同步,把 更新的内容以及本地没有的内容从源站点获取并保存在本地。Cache设备的数量、规模、总服务能 ⼒是衡量⼀个CDN系统服务能⼒的最基本的指标。
B.负载均衡系统:主要功能是负责对所有发起服务请求的⽤户进⾏访问调度,确定提供给⽤户的最终 实际访问地址。两级调度体系分为全局负载均衡(GSLB)和本地负载均衡(SLB)。全局负载均衡主要根据⽤户就近性原则,通过对每个服务节点进⾏“最优”判断,确定向⽤户提供服务的cache的 物理位置。本地负载均衡主要负责节点内部的设备负载均衡
C.运营管理系统:运营管理系统分为运营管理和⽹络管理⼦系统,负责处理业务层⾯的与外界系统交 互所必须的收集、整理、交付⼯作,包含客户管理、产品管理、计费管理、统计分析等功能。
2. CDN的作⽤
CDN⼀般会⽤来托管Web资源(包括⽂本、图⽚和脚本等),可供下载的资源(媒体⽂件、软件、⽂档 等),应⽤程序(⻔户⽹站等)。使⽤CDN来加速这些资源的访问。
(1)在性能⽅⾯,引⼊CDN的作⽤在于: ⽤户收到的内容来⾃最近的数据中⼼,延迟更低,内容加载更快 部分资源请求分配给了CDN,减少了服务器的负载
(2)在安全⽅⾯,CDN有助于防御DDoS、MITM等⽹络攻击: 针对DDoS:通过监控分析异常流量,限制其请求频率 针对MITM:从源服务器到 CDN 节点到 ISP(Internet Service Provider),全链路 HTTPS 通信 除此之外,CDN作为⼀种基础的云服务,同样具有资源托管、按需扩展(能够应对流量⾼峰)等⽅⾯的 优势。
3. CDN的原理
CDN和DNS有着密不可分的联系,先来看⼀下DNS的解析域名过程,在浏览器输⼊ www.test.com 的 解析过程如下:
(1) 检查浏览器缓存
(2)检查操作系统缓存,常⻅的如hosts⽂件
(3)检查路由器缓存
(4)如果前⼏步都没没找到,会向ISP(⽹络服务提供商)的LDNS服务器查询
(5)如果LDNS服务器没找到,会向根域名服务器(Root Server)请求解析,分为以下⼏步: 根服务器返回顶级域名(TLD)服务器如 .com , .cn , .org 等的地址,该例⼦中会返回 .com 的 地址 接着向顶级域名服务器发送请求,然后会返回次级域名(SLD)服务器的地址,本例⼦会返回 .test的地址 接着向次级域名服务器发送请求,然后会返回通过域名查询到的⽬标IP,本例⼦会返回www.test.com 的地址 Local DNS Server会缓存结果,并返回给⽤户,缓存在系统中
CDN的⼯作原理:
(1)⽤户未使⽤CDN缓存资源的过程:
1. 浏览器通过DNS对域名进⾏解析(就是上⾯的DNS解析过程),依次得到此域名对应的IP地址
2. 浏览器根据得到的IP地址,向域名的服务主机发送数据请求
3. 服务器向浏览器返回响应数据
(2)⽤户使⽤CDN缓存资源的过程:
1. 对于点击的数据的URL,经过本地DNS系统的解析,发现该URL对应的是⼀个CDN专⽤的DNS服务 器,DNS系统就会将域名解析权交给CNAME指向的CDN专⽤的DNS服务器。
2. CND专⽤DNS服务器将CND的全局负载均衡设备IP地址返回给⽤户
3. ⽤户向CDN的全局负载均衡设备发起数据请求
4. CDN的全局负载均衡设备根据⽤户的IP地址,以及⽤户请求的内容URL,选择⼀台⽤户所属区域的 区域负载均衡设备,告诉⽤户向这台设备发起请求
5. 区域负载均衡设备选择⼀台合适的缓存服务器来提供服务,将该缓存服务器的IP地址返回给全局负 载均衡设备
6. 全局负载均衡设备把服务器的IP地址返回给⽤户
7. ⽤户向该缓存服务器发起请求,缓存服务器响应⽤户的请求,将⽤户所需内容发送⾄⽤户终端。 如果缓存服务器没有⽤户想要的内容,那么缓存服务器就会向它的上⼀级缓存服务器请求内容,以此类 推,直到获取到需要的资源。最后如果还是没有,就会回到⾃⼰的服务器去获取资源。

4. CDN的使⽤场景
A.使⽤第三⽅的CDN服务:如果想要开源⼀些项⽬,可以使⽤第三⽅的CDN服务
B.使⽤CDN进⾏静态资源的缓存:将⾃⼰⽹站的静态资源放在CDN上,⽐如js、css、图⽚等。可以 将整个项⽬放在CDN上,完成⼀键部署。
C.直播传送:直播本质上是使⽤流媒体进⾏传送,CDN也是⽀持流媒体传送的,所以直播完全可以使 ⽤CDN来提⾼访问速度。CDN在处理流媒体的时候与处理普通静态⽂件有所不同,普通⽂件如果在 边缘节点没有找到的话,就会去上⼀层接着寻找,但是流媒体本身数据量就⾮常⼤,如果使⽤回源 的⽅式,必然会带来性能问题,所以流媒体⼀般采⽤的都是主动推送的⽅式来进⾏。
相关文章:
前端面试当中CDN会问啥------CDN详细教程来啦
⼀、CDN 1. CDN的概念 CDN(Content Delivery Network,内容分发⽹络)是指⼀种通过互联⽹互相连接的电脑⽹络系统,利 ⽤最靠近每位⽤户的服务器,更快、更可靠地将⾳乐、图⽚、视频、应⽤程序及其他⽂件发送给⽤户&…...
刷题记录:牛客NC19429红球进黑洞 区间拆位异或+区间求和
传送门:牛客 题目描述: 区间求和区间异或k 输入: 10 10 8 5 8 9 3 9 8 3 3 6 2 1 4 1 1 2 6 2 9 10 8 1 1 7 2 4 7 8 2 8 8 6 2 2 3 0 1 1 2 2 9 10 4 1 2 3 输出: 33 50 13 13一道区间求和区间异或的题目,可以称得上是线段树的一道好题 首先对于异或运算来说,并不满足…...
信息数智化招采系统源码——信息数智化招采系统
信息数智化招采系统 服务框架:Spring Cloud、Spring Boot2、Mybatis、OAuth2、Security 前端架构:VUE、Uniapp、Layui、Bootstrap、H5、CSS3 涉及技术:Eureka、Config、Zuul、OAuth2、Security、OSS、Turbine、Zipkin、Feign、Monit…...
20230217使AIO-3399J开发板上跑通Android11系统
20230217使AIO-3399J开发板上跑通Android11系统 2023/2/17 15:45 1、解压缩SDK:rk3399-android-11-r20211216.tar.xzrootrootrootroot-X99-Turbo:~$ tar xvf rk3399-android-11-r20211216.tar.xz 2、编译U-boot: rootrootrootroot-X99-Turbo:~/rk3399-a…...
Java 基础面试题——面向对象
目录1.面向对象和面向过程有什么区别?2.面向对象的有哪些特征?3.静态变量和实例变量有什么区别?4.Java 对象实例化顺序是怎样的?5.浅拷贝和深拷贝的区别是什么?5.1.浅拷贝5.2.深拷贝5.3.总结6.Java 中创建对象的方式有哪几种&…...
PDF文件替换内容(电子签章),依赖免费pdfbox
首先提前准备,压入如下依赖 <!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox --> <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId>…...
nvm 控制 node版本
nvm 官网 https://nvm.uihtm.com/ 1、卸掉nodejs,根据官网操作 2、如果之前安装过的nodejs,且安装的目录改变了,需重新配置系统环境 第一步:打开此电脑 > 右键属性 > 高级系统设置 > 环境变量 第二步: 在系统变量中选中…...
javaEE 初阶 — 传输层 TCP 协议中的异常情况与面向字节流的粘包问题
文章目录1 粘包问题1.1 什么是粘包问题1.2 如何解决粘包问题2 异常情况TCP 的十个特性:确认应答机制 超时重传机制 连接管理机制 滑动窗口 流量控制与拥塞控制 延迟应答与捎带应答 1 粘包问题 1.1 什么是粘包问题 面向字节流引入了一个比较麻烦的粘包问题。 …...
IP路由基础
——IP路由基础(IA)—— HCIA全套笔记已经上线(arpAAAvlanTrunk链路聚合vlan间通信ACL广域网技术以太网交换...........)_孤城286的博客-CSDN博客 目录 ——IP路由基础(IA)—— (1&#…...
12.centos7部署sonarqube9.6
12.centos7部署sonarqube9.6环境:sonarqube9.6Postgresql13JDK11sonarqube9.6下载地址:Postgresql13 rpm下载地址:JDK11下载地址:准备工作:修改文件句柄数(最大文件数)和用户最大进程数限制修改…...
大学四年自学Java编程,现在拿到28万年薪的offer,还是觉得挺值的
最近刚拿到美团的Java后端工程师的offer,(底薪、奖金、补贴、年终奖、五险一金)总包加在大概有28万的年薪,实际到手不会有这么多,但是我对于这个待遇还是非常满意的。说来还是非常的感慨,我属于那种从大一到…...
MySQL的日志详解
目录 一.介绍 日志分类 二.错误日志 三.二进制日志—binlog 概述 日志格式 操作 四.查询日志 五.慢查询日志 一.介绍 在任何一种数据库中,都会有各种各样的日志,记录着数据库工作的方方面面,以帮助数据库管理员追踪数据库曾经发生过的…...
输出该股票所有收盘比开盘上涨3%以上的日期
1:输出该股票所有收盘比开盘上涨3%以上的日期 #codingutf-8 import tushare as ts import pandas as pd import numpy as np#获取某支股票的历史行情数据 dfts.get_hist_data(code600519,start2001-01-01) #将互联网上的数据获取并且存储到本地 df.to_csv(./maotai…...
数值卡,让数据可视化玩出新花样丨三叠云
数值卡 路径 仪表盘 >> 仪表盘设计 功能简介 1. 数值卡增加「数值标题」、「图标」、「进度条」功能,使得应用场景更为广泛,实现数据可视化,让用户能够轻松地获取、处理信息。 2.「数据模型」支持0个维度1个指标、1个维度1个指标。…...
有这几个表现可能是认知障碍前兆
我国目前对于认知障碍的认知率、就诊率、诊断率很低,然而认知障碍如果能在早期发现,并及时治疗,生活质量会有效提高,缓解家属的精神和经济负担。所以,认知障碍的前兆一定要了解。1.记忆力减退,一周内的重要…...
java面试题-阿里真题详解
前言 大家好,我是局外人一枚,最近有不少粉丝去阿里巴巴面试了,回来之后总结不少难题给我,以下是面试的真题,跟大家一起来讨论怎么回答。 阿里一面 1、说⼀下ArrayList和LinkedList区别 ⾸先,他们的底层数…...
JSON格式解析关键词搜索API
为了进行此平台API的调用,首先我们需要做下面几件事情。 1、 获取一个KEY。 2、 参考API文档里的接入方式和示例。 3、查看测试工具是否有需要的接口,响应实例的返回字段是否符合参数要求。 4、利用平台的文档中心和API测试工具,对接口进…...
【Java基础】泛型(二)-泛型的难点:通配符
本文将尝试将通配符和泛型中的继承,多态一并讲解 关于泛型中继承的注意事项 因为Integer、Double继承了Number,根据多态性,以下语句是合法的 Number n new Integer(10); // OK, 父类引用变量可以指向子类对象 n 2.9 // OK,n实…...
黑马】后台管理-两个括号的坑
记录一下这两天的坑没想到后台管理系统上线这两天都没有搞明白1.首先第一个坑是使用node.js的express中间件框架创建一个微型服务器,然后将vue脚手架生成的dist文件夹的文件放入里面了 ,把项目加载到web服务器之后运行node .\app.js,页面显示…...
05:进阶篇 - 使用 CTKWidgets
作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 CTKWidgets 包含了一组 Qt 部件,用于生物医学成像应用程序。当然,即使你的程序与医学无关,很多部件也是很有参考意义的。 在 CTK 源码中,有很多选项开关,可以控制你想要编译的内容(详见:04:进阶篇 …...
基于MCP协议构建AI驱动的企业安全自动化平台
1. 项目概述:一个连接AI与安全工具的桥梁最近在折腾AI助手(比如Claude Desktop、Cursor)的扩展能力时,发现了一个挺有意思的项目:sanyambassi/thales-cdsp-crdp-mcp-server。乍一看这个仓库名,又是Thales&a…...
[安全攻防实验] 环境变量:Set-UID程序中的隐形攻击向量
1. 环境变量与Set-UID程序的安全隐患 在Linux系统中,环境变量就像是一个随身携带的"工具箱",里面装着各种程序运行时需要的信息。但你可能不知道,这个看似普通的工具箱,在遇到Set-UID程序时,可能会变成黑客…...
终极指南:如何免费解锁Cursor Pro完整功能 - 突破AI编辑器限制的完整方案
终极指南:如何免费解锁Cursor Pro完整功能 - 突破AI编辑器限制的完整方案 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youv…...
如何在3分钟内为Photoshop安装AVIF插件:让你的图片体积减半的终极方案
如何在3分钟内为Photoshop安装AVIF插件:让你的图片体积减半的终极方案 【免费下载链接】avif-format An AV1 Image (AVIF) file format plug-in for Adobe Photoshop 项目地址: https://gitcode.com/gh_mirrors/avi/avif-format 还在为网站图片加载缓慢而烦恼…...
终极显卡调校指南:如何用NVIDIA Profile Inspector释放游戏性能
终极显卡调校指南:如何用NVIDIA Profile Inspector释放游戏性能 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector NVIDIA Profile Inspector是一款专为NVIDIA显卡用户设计的免费优化工具&…...
MySQL 视图使用场景与限制
视图是把查询封装成「虚拟表」的方式,用对了简化查询,用错了性能爆炸。这篇说说视图的用法和注意事项。 什么是视图? -- 视图:保存好的 SQL 查询,像表一样使用 CREATE VIEW view_name AS SELECT column1, column2 FROM…...
PowerInfer:基于稀疏激活的LLM推理引擎,消费级GPU运行百亿大模型
1. 项目概述:当大模型推理遇见“热点激活”最近在折腾本地大模型部署的朋友,可能都绕不开一个核心痛点:显存。动辄几十GB的模型,配上动辄几十GB的推理显存需求,让消费级显卡(比如我们常见的24GB显存的RTX 4…...
ComfyUI-Manager 3步深度优化:构建稳定高效的AI工作流管理平台
ComfyUI-Manager 3步深度优化:构建稳定高效的AI工作流管理平台 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable vario…...
如何用FanControl快速解决电脑风扇噪音问题:完整免费指南
如何用FanControl快速解决电脑风扇噪音问题:完整免费指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending…...
显存又爆了?移动云弹性KV缓存:让你告别“显存焦虑”
上下文越长,显存越吃紧对话轮次越多,延迟越明显并发量一高,服务就卡顿……随着AI大模型向超长上下文、高并发、多轮交互深度演进,AI推理所需缓存的内容呈指数级增长。显存容量的需求爆炸与显存采购的高昂成本,使得超长…...
