阿里云CDN加速器基本概念与购买开通
文章目录
- 1.CDN加速器的基本概念
- 1.1.CDN加速器基本介绍
- 1.2.网站引入CDN加速器的架构图
- 1.3.CDN加速器的工作原理
- 1.4.引入CDN后域名解析变成了CNAME?
- 2.开通阿里云CDN加速服务
1.CDN加速器的基本概念
CDN加速器官方文档:https://help.aliyun.com/product/27099.html
1.1.CDN加速器基本介绍
内容分发网络(Content Delivery Network,CDN)是建立并覆盖在承载网上,由不同区域的服务器组成的分布式网络。将源站资源缓存到全国各地的边缘服务器,供用户就近获取,降低源站压力。
CDN相当于缓存服务,由不同地区的服务器组成的分布式网络,网站数据会缓存到CDN一份,当用户请求时,首先到达CDN加速器,由CDN将用户的请求分发到距离用户最近区域的服务器,加速网站的网络,当用户请求的数据在CDN不存在时,CDN则会回源,由CDN去请求WEB服务器中的数据,避免恶意用户频繁请求网站流量。
系统的使用者可能遍布全国各地,如果程序的服务器是在北京,那么西藏、云南访问我们的程序相较于京津冀的用户就会特别的慢,很有可能产生超时的现象,即使网站优化的再好,偏远地区的用户无法正常使用系统,还是白搭。
针对这种现象,内容分发网络CDN,得到了广泛的应用,只要是互联网环境下的程序,几乎都是采使用CDN加速器。
CDN应用场景:
- 图片小文件
- 可以将网站的静态资源包括图片等等缓存在CDN中,加速用户请求。
- 大文件下载
- 当大文件缓存在CDN后,用户的下载速度将会有所提升。
- 音视频文件
- 大多数的音视频公司都会将视频缓存在CDN,用户在播放视频时速度就会很快。
1.2.网站引入CDN加速器的架构图
在下面这个网站架构中就引入了CDN加速器。
当没有使用CDN时,用户的请求是直接到达WEB服务器的,使用了CDN加速器后,用户的请求首先会到达距离用户最近的边缘服务器,例如上海的用户,上海的用户在请求网站后,流量会被CDN首先处理,CDN会将用户的请求分发到距离上海用户最近的上海边缘服务器,此时就会大大加快上海用户对网站的访问,平时上海用户访问北京机房的WEB服务器可能会花费5秒,接入CDN后,用户直接就可以在上海的边缘服务器中获取到北京机房的WEB程序的数据,大大加快了网站的访问。
当CDN缓存中没有用户需要的数据时,也不会由边缘服务器直接请求WEB服务器,而是由CDN去请求我们的WEB服务器,然后将数据缓存CDN中,再由边缘服务器从CDN中读取最新数据,也可以避免因为大量的请求导致网站服务器崩溃。
也可以直接由WEB服务器将数据推送到CDN,由CDN下发到各个边缘服务器,提高数据的命中率。
使用CDN加速器后网站的请求流程如下:
用户—>CDN—>边缘服务器处理请求
当用户请求的数据不在CDN时:CDN—>WEB服务器
↓
边缘服务器—>CDN—>用户
由CDN回源WEB服务器,WEB服务器缓存在CDN中,边缘服务器从CDN中读取新数据然后返回给用户
从上图中可以得出CDN缓存数据的方式有两种:
- 边缘服务器回源CDN加速器,由CDN加速器从WEB服务器中获取最新的数据,然后进行缓存。
- 由WEB服务器向CDN推送缓存数据,由CDN加速器将缓存数据推送到各个边缘服务器。
1.3.CDN加速器的工作原理
网站接入CDN后,域名会被DNS通过CNAME的方式解析到由CDN提供的域名,因此在使用CDN之前,网站的方式方式必须是域名并且可以解析成IP。
1)当用户在请求www.aliyundoc.com网站资源时,首先由本地DNS将网站解析成对应的IP。
2)如果本地DNS中有域名解析记录,那么直接返回给用户,如果不存在解析记录,本地DNS服务器就会去请求www.aliyundoc.com这个域名的解析记录。
3)网站接入CDN后,www.aliyundoc.com域名会被DNS的CNAME解析记录解析成由CDN加速器提供的域名www.aliyundoc.com.example.com。
4)当www.aliyundoc.com.example.com域名通过一层层的解析,最终到达CDN的服务器后,CDN会根据用户请求的源IP,通过CDN调度系统,将网站资源分发到距离用户最近的边缘服务器,并提供节点的IP地址,这个IP地址会被作为www.aliyundoc.com.example.com 域名解析后的地址。
5)阿里云CDN会将分配的节点IP返回给本地DNS服务器,此时用户请求的www.aliyundoc.com域名透过CNMAE之后的域名,就已经解析成了距离用户最近的边缘服务器地址。
6)本地DNS服务器会将域名的解析记录返回给用户。
7)此时用户访问网站的请求都会落在最佳的边缘服务器上,从而加快网站的访问,当边缘服务器中没有缓存数据时,CDN就会回源WEB服务器,然后将数据进行缓存,由边缘服务器读取,用户直接从边缘节点中获取网站的资源,加快流量访问。
1.4.引入CDN后域名解析变成了CNAME?
当我们的网站引入CDN加速器后,域名解析记录从A记录变成了CNAME记录,这时为什么呢?
CDN的主要作用就是将用户的请求分发到距离用户最近的边缘服务器,由这个节点提供资源的访问,从而加速网站的访问,那么如何才可以知道用户距离哪一个边缘节点最近?为了解决这个问题所以才将域名的解析记录从A记录变成的CNAME记录,在解析源网站域名时,将域名重定向到了由CDN提供的新域名,然后使DNS去解析CDN提供的域名,最终解析到CDN的服务器上,CDN服务器就可以获取到用户请求的源IP,得到了源IP后,就可以通过CDN调度系统根据请求的源IP,将请求调度在距离用户最近的边缘服务器上,并且提供这个边缘服务器的IP地址,然后将这个IP地址由CDN服务器回传给本地DNS,此时本地DNS就拿到了域名与最佳节点IP的解析记录,域名解析完成后,此时用户请求的网站资源就会落到边缘服务器中,加快网站的访问。
2.开通阿里云CDN加速服务
1)在控制台中搜索CDN加速器,进入CDN控制台。
2)CDN的付费模式按量付费,同意服务条款,点击立即开通。
3)CDN服务开通成功。
相关文章:

阿里云CDN加速器基本概念与购买开通
文章目录 1.CDN加速器的基本概念1.1.CDN加速器基本介绍1.2.网站引入CDN加速器的架构图1.3.CDN加速器的工作原理1.4.引入CDN后域名解析变成了CNAME? 2.开通阿里云CDN加速服务 1.CDN加速器的基本概念 CDN加速器官方文档:https://help.aliyun.com/product/…...
2023河南萌新联赛第(六)场:河南理工大学-F 爱睡大觉的小C
2023河南萌新联赛第(六)场:河南理工大学-F 爱睡大觉的小C https://ac.nowcoder.com/acm/contest/63602/F 文章目录 2023河南萌新联赛第(六)场:河南理工大学-F 爱睡大觉的小C题意解题思路 题意 新学期的概…...

[C++ 网络协议编程] 域名及网络地址
1. DNS服务器 DNS(Domain Name System):是对IP地址和域名(如:www.baidu.com等)进行相互转换的系统,其核心是DNS服务器。 我们输入的www.baidu.com是域名,是一种虚拟地址,而非实际地…...

Java【HTTP】什么是 Cookie 和 Session? 如何理解这两种机制的区别和作用?
文章目录 前言一、Cookie1, 什么是 Cookie2, Cookie 从哪里来3, Cookie 到哪里去4, Cookie 有什么用 二、Session1, 什么是 Session2, 理解 Session 三、Cookie 和 Session 的区别总结 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: 📕 …...

使用U盘重装Windows10系统详细步骤及配图【官方纯净版】
文章目录 1.制作启动盘1.1准备U盘及一台电脑1.2下载win10安装包 2.安装操作系统2.1插入系统安装盘2.2设置启动盘为第一启动项2.3开始安装操作系统 3.安装成功后进入图形界面3.1启动问题3.2驱动问题3.3调出"控制面板"3.4给磁盘分区 4.win10激活 前天下午不知道怎么想的…...

数据结构之——(手撕)顺序表
本章会介绍的知识点如下图: 1: 顺序表的概念:顺序表是用一段物理地址连续的存储单元依次存储数据的线性结构,通常我们使用数组来表示,对数组进行增删查改。 顺序表的结构:逻辑结构与物理结构都是内存中一块…...

冠达管理:非银金融是什么?
非银金融(Non-banking Financial Institutions,简称非银)是指除了传统的银行以外的其他金融机构。与银行不同的是,非银金融机构没有颁发钱银的权利,但在金融市场中发挥着重要的效果。在全球范围内,非银金融…...
go 结构体
定义结构体 package mainimport "fmt"type Person struct {age, id intname, email string }func main() {var p Personfmt.Printf("p: %v\n", p)p.age 100p.name "jaja"fmt.Printf("p.name: %v\n", p.name)// 匿名结构体var P…...

C++学习笔记---- 引用
1、作用 给变量起别名 基本语法:数据类型 &别名 原名 示例: #include <iostream> using namespace std;int main() {int a 1;int &b a;cout << "a " << a << endl;cout << "b " <…...

2023国赛数学建模思路 - 案例:感知机原理剖析及实现
文章目录 1 感知机的直观理解2 感知机的数学角度3 代码实现 4 建模资料 # 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 感知机的直观理解 感知机应该属于机器学习算法中最简单的一种算法,其…...

Cesium加载Supermap的wmts服务
最近使用cesium 加载supermap的wmts 服务,多次遇到加载异常与白页面问题,纠结好久最后才搞定[特此记录] 1、首先找到方法加载wmts 的api 文档 官方提示使用WebMapTileServiceImageryProvider加载wmts 2、然后编辑加载代码 //1.新建ImageryProviderlet…...

C/C++:C/C++在大数据时代的应用,以及C/C++程序员未来的发展路线
目录 1.C/C在大数据时代的应用 1.1:C/C数据处理 1.2:C/C数据库 1.3:C/C图像处理和计算机视觉 1.3.1:导读 2.C/C程序员未来的发展路线 2.1:图导 1.C/C在大数据时代的应用 C/C在大数据时代中仍然是一种被广泛应用的编…...

linux RabbitMQ-3.8.5 安装
软件版本操作系统CentOS Linux release 7.9.2009erlangerlang-23.0.2-1.el7.x86_64rabbitMQrabbitmq-server-3.8.5-1.el7 RabbitMQ的安装首先需要安装Erlang,因为它是基于Erlang的VM运行的。 RabbitMQ安装需要依赖:socat和logrotate,logrotate操作系统已经存在了&…...
单链表Single-LinkList
0、节点结构体定义 typedef struct LNode{int data;struct LNode *next;} Lnode, *LinkList; 1、初始化 bool InitList(LinkList &L) //初始化 {L new LNode;if(!L){return false;}L->next NULL;return true; } 2、创建 (1)头插法 void Cr…...
AI嵌入式全景:各厂商、系列和开发工具的综合概览
要看几个方面 1 算力: 2 支持何种模型: 3 是否支持可视化的窗口系统: 一般而言各个平台均采用linux操作系统,官方提供对应SDK,安装好后可使用硬件加速资源。 而且如果要使用其硬件加速,一般都要完成模型转…...

mysql Left Join on条件 where条件的用法区别
数据准备 SELECT t1.id,t1.name,t2.local FROM t1 LEFT JOIN t2 ON t1.idt2.id; 执行结果 SELECT t1.id,t1.name,t2.local FROM t1 LEFT JOIN t2 ON t1.idt2.id and t2.localbeijing; SELECT t1.id,t1.name,t2.local FROM t1 LEFT JOIN t2 ON t1.idt2.id where t2.localbeijing…...

Redis中的淘汰策略
前言 本文主要说明在Redis面临key过期和内存不足的情况时,可以采用什么策略进行解决问题。 Redis中是如何应对过期数据的 正如我们知道的Redis是基于内存的、单线程的一个中间件,在面对过期数据的时候,Redis并不会去直接把它从内存中进行剔…...

MyBatis进阶:掌握MyBatis动态SQL与模糊查询、结果映射,让你在面试中脱颖而出!!
目录 一、引言 二、MyBatis动态SQL 2.1.if元素使用 2.2.foreach元素使用 三、MyBatis模糊查询 ①使用#{字段名} ②使用${字段名} ③使用concat{%,#{字段名},%} 总结 四、MyBatis结果映射 4.1.案例演示 4.1.1.resultType进行结果映射 4.1.2.resultMap进行结果映射 …...
C++ 写入txt文件内容并追加内容
咨询通义千问的“C 写入txt文件内容并追加内容”: 可以使用ofstream类来写入txt文件内容。若想追加内容,可以使用ios::app标志来创建输出流对象,然后在写入时将其设置为ios::app。以下是一个示例代码: #include <iostream>…...

Leetcode---359周赛
题目列表 2828. 判别首字母缩略词 2829. k-avoiding 数组的最小总和 2830. 销售利润最大化 2831. 找出最长等值子数组 一、判断首字母缩略词 纯模拟,代码如下 class Solution { public:bool isAcronym(vector<string>& words, string s) {string tmp…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...

SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...

R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...