CDN(Content Delivery Network)内容分发网络

news2025/2/13 4:16:28

从DNS域名系统到CDN内容分发网络

  • DNS
    • 什么是DNS
    • 直接使用DNS的缺点
  • CDN
    • CDN加速过程
    • 使用CDN的优势

DNS

什么是DNS

在这里插入图片描述
输入域名www.baidu.com后,浏览器先检查缓存和本地Host文件,看有没有对应的ip地址,有则直接使用,没有就会向本地DNS服务器发送请求询问域名对应ip地址,本地DNS服务器也是先查缓存,没有的话则向根域名服务器询问.com顶级域名服务器的ip地址,根域名服务器返回.com顶级域名服务器的ip地址后,本地DNS向.com顶级域名服务器询问baidu.com权威域名服务器地址,顶级域名服务器返回baidu.com权威域名服务器地址后,本地DNS向baidu.com权威域名服务器询问www.baidu.com的IP地址,然后baidu.com权威域名服务器会返回www.baidu.com的ip地址,然后DNS将该ip地址返回给主机。
需要注意的是,静态DNS是事先配置的,它总是返回相同的IP地址,而动态DNS则会考虑到地理位置,负载均衡等因素为不同用户返回不同的IP地址,从而保证响应速度和服务器负载的正常

直接使用DNS的缺点

1.跨地域访问时延迟仍然会很大(服务器数量有限,可能只有几个区域有服务器)
2.集中访问源站服务器,服务器负载很大

CDN

内容分发网络(Content Delivery Network,CDN)是在现有 Internet 中增加的一层新的网络架构,由遍布全国的高性能加速节点构成。这些高性能的服务节点都会按照一定的缓存策略存储您的业务内容,当您的用户向您的某一业务内容发起请求时,请求会被调度至最接近用户的服务节点,直接由服务节点快速响应,有效降低用户访问延迟,提升可用性。
主要是用来加速访问的

CDN加速过程

这里直接引用该文章:CDN简介
假设您的业务源站域名为 www.test.com ,当域名接入 CDN 开始使用加速服务后,您的用户发起 HTTP 请求,实际的处理流程如图所示:
在这里插入图片描述

  1. 用户向 www.test.com 下的某图片资源,如 1.jpg 发起请求,先要向 Local DNS 发起域名解析请求;
  2. 当 Local DNS 解析 www.test.com 时,会发现配置了 CNAME,域名变为www.test.com.cdn.dnsv1.com(CNAME的作用是将原域名请求跳转到调度器),访问该域名时请求会发送至 Tencent DNS(GSLB),GSLB为腾讯云自主研发的调度体系,会为请求分配最佳节点 IP(这个IP对应的是某个CND节点);
  3. Local DNS 获取 Tencent DNS 返回的解析 IP;
  4. 用户测获取解析 IP;
  5. 用户向获取的 IP 发起对资源 1.jpg 的访问请求;
  6. 若该 IP 对应的节点缓存有 1.jpg,则会将数据直接返回给用户(10),此时请求结束。若该节点未缓存1.jpg,则节点会向业务源站发起对 1.jpg 的请求(6、7、8),获取资源后,结合用户自定义配置的缓存策略(可参考用户指南中缓存时间设置章节内容),将资源存储(9),并返回给用户(10),此时请求结束。
    在这里插入图片描述

使用CDN的优势

缓存技术:CDN节点会缓存一些内容,一方面可以让用户离它们最近的节点获取内容,另一方面这些CDN节点也可以保障整体的可靠性(一个出问题还可以从其他的获取)。
负载均衡(加强):当源服务器面临突然的流量高峰时,CDN可以通过其全球节点分摊流量,避免源服务器被淹没。
此外还提供文件压缩,连接优化等加速访问速度,还可以通过一些技术提高系统安全性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/864043.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ubuntu安装nginx以及php的部署

目录 1.安装依赖包 2.安装nginx 3.编译nginx 4.启动nginx 5.访问nginx 6.增加源地址 7.安装php 8.配置php-fpm 9.修改权限 10.配置nginx里的php 11.启动php-fpm 12.配置php文件以及权限 13.登陆查看 1.安装依赖包 apt-get install gcc apt-get install libpcre3 l…

C++:模板初阶以及string类使用

C:模板初阶以及string类使用 模板的简单认识1.泛型编程2.函数模板模板的原理图函数模板格式函数模板实例化非模板函数和模板函数的匹配原则 3.类模板类模板的定义格式类模板的实例化 string1.string简介2.string常用的接口 题目练习1.字符串相加2.字符串里面最后一个…

MySQL REGEXP_SUBSTR() 函数

MySQL 8.0 的 REGEXP_SUBSTR()函数从一个字符串获取和指定模式匹配的子串并返回。默认情况下,REGEXP_SUBSTR()函数执行不区分大小写的匹配。 REGEXP_SUBSTR() 语法如下: REGEXP_SUBSTR (expression, pattern [, position[, occurrence[, match_type]]])…

服务质量(QoS)监控工具

企业网络的使用正变得越来越复杂,由于越来越依赖企业网络进行广泛的应用,网络格局发生了翻天覆地的变化。语音、视频和数据网络的融合增加了更多的变量来确定网络的行为。不同的应用程序以不同的方式影响网络,这要求完全控制网络带宽的使用&a…

年薪50W+的测试大佬都在用这个:Jmeter 脚本开发之——扩展函数

很多同学,都问我:“老师,我的 jmeter 里面,怎么没有 MD5 函数,base64 函数也没有,我是不是用了假的 jmeter?” 哈哈哈,不是的。jmeter 的函数,有自带函数和扩展函数两大…

Python数据分析实战-列表字符串、字符串列表、字符串的转化(附源码和实现效果)

实现功能 str([None,master,hh]) ---> [None,"master","hh"] ---> "None,master,hh" 实现代码 import re import astx1 str([None,master,hh]) print(x1)x2 ast.literal_eval(x1) print(x2)x3 ",".join(str(item) for item…

【C++奇遇记】智能的函数探幽

🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集 数据库专栏 初阶数据结构 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如…

CSS前端开发指南:创造精美的用户界面

简介: 《CSS前端开发指南:创造精美的用户界面》是一本旨在帮助读者掌握CSS技术,实现令人惊叹的前端用户界面的实用指南。无论您是初学者还是有经验的开发者,本书都将为您提供全面的知识和实用技巧,帮助您创建引人注目…

程序的运行(6/13)

程序的运行分为两种:一种基于操作系统环境,另一种是在无操作系统的环境下执行裸机程序。在 Linux 环境下,可执行文件是 ELF 格式(除了基本的代码段、数据段、还有文件头、符号表等用来辅助程序运行的信息),…

Arcgis中影像图切片有白斑或者白点

效果 步骤 1、3dmax渲染或者其它原片 2、Arcgis中加载图片 原数据效果 3、定义投影和转换坐标系等等 我这边测试数据是EPSG:4326的坐标系 4、导出jp2(JPG2000)格式 转换后效果 5、发布服务 6、效果对比

机器学习---梯度下降代码

1. 归一化 # Read data from csv pga pd.read_csv("pga.csv") print(type(pga))print(pga.head())# Normalize the data 归一化值 (x - mean) / (std) pga.distance (pga.distance - pga.distance.mean()) / pga.distance.std() pga.accuracy (pga.accuracy - pg…

centos7部署openldap开启memberof并接入jumpserver

文章目录 前言1.yum安装openldap2.配置密码3.导入配置4.定义域5.配置memberof6.配置base dn7.安装phpldapadmin管理8.调整httpd的配置9.调整php的配置10.登陆php管理页面11.同步旧ldapsever用户数据(可省略)12.客户端配置13.对接jumpserver 前言 介绍如何在centos7上部署openl…

SpringBoot复习:(29)静态资源的配置路径

WebMvcAutoConfiguration 首页处理:

Linux用户管理命令

一、系统存储用户信息的文件 (1)/etc/passwd 存储用户基本信息: 通过vi /etc/passwd查看用户基本信息: (2)/etc/group 存储用户组的信息: 通过vi /etc/group查看用户组信息: &…

SAP MM学习笔记16-在库品目评价

在库品目评价是指评估物料。具体比如物料价格,数量,保管场所等发生变化的时候,判断是否发生了变化,要不要生成 FI票,用哪个FI科目来进行管理等内容就叫在库品目评价。 在库品目评价有很多层级,这里先讲3兄弟…

【C++手撕系列】——设计日期类实现日期计算器

【C手撕系列】——设计日期类实现日期计算器😎 前言🙌C嘎嘎类中六大护法实现代码:获取每一个月天数的函数源码分享构造函数源码分享拷贝构造函数源码分享析构函数源码分享赋值运算符重载函数源码分享取地址和const取地址运算符重载函数源码分…

如何写一篇吸引人的新闻稿?揭秘新闻稿写作的技巧!

一篇高质量的新闻稿不仅能够吸引读者的眼球,还能提高文章的曝光量。下面,伯乐网络传媒将给大家揭秘新闻稿写作的十大技巧,帮助大家写出更有吸引力的新闻稿。 1. 选择热门而有吸引力的话题或爆点 要想写出一篇吸引人的新闻稿,首先…

【前端】CSS水平居中的6种方法

左右两边间隔相等的居中 文章目录 flex绝对定位margin:auto绝对定位margin:负值定位transformtext-align: center;margin: 0 auto;思维导图 flex display: flex;justify-content: center; <div classparent><div class"son"></div> </div>…

【VUE】7、VUE项目中集成watermark实现页面添加水印

在网站浏览中&#xff0c;常常需要网页水印&#xff0c;以便防止用户截图或录屏暴露敏感信息后&#xff0c;方便追踪用户来源。 1、安装 watermark 在 package.json 文件 dependencies 节点增加 watermark-dom 依赖 "watermark-dom": "2.3.0"然后执行命…

fastadmin 自定义搜索分类和时间范围

1.分类搜索&#xff0c;分类信息获取----php 2.对应html页面&#xff0c;页面底部加搜索提交代码&#xff08;这里需要注意&#xff1a;红框内容&#xff09; 图上代码----方便直接复制使用 <script id"countrySearch" type"text/html"><!--form…