阿里云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…...
YOLOv8树上自然生长的苹果识别检测系统(项目源码+YOLO数据集+模型权重+UI界面+python+深度学习+环境配置)
摘要 针对自然果园环境中苹果目标检测面临的光照变化、枝叶遮挡及果实密集等挑战,本研究基于YOLOv8目标检测算法构建了一套树上苹果检测系统。实验采用自建苹果图像数据集,包含训练集1355张、验证集77张、测试集39张,目标类别为单一“Apples…...
(122页PPT)数字化IT架构蓝图规划设计方案(附下载方式)
篇幅所限,本文只提供部分资料内容,完整资料请看下面链接 https://download.csdn.net/download/2501_92796370/92683861 资料解读:数字化 IT 架构蓝图规划设计方案 详细资料请看本解读文章的最后内容 在数字化转型浪潮下,运营商…...
从数据库设计到前端展示:一条龙搞定Java BigDecimal精度问题(附Spring Boot配置建议)
从数据库设计到前端展示:全面解决Java BigDecimal精度问题实战指南 在电商系统开发中,价格计算是核心业务逻辑之一。一个简单的折扣计算可能引发连锁反应:用户输入0.66折,数据库存储为float类型,Java读取后乘以10却得到…...
3分钟解锁WeMod高级功能:开源工具Wand-Enhancer完全指南
3分钟解锁WeMod高级功能:开源工具Wand-Enhancer完全指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 你是否因为WeMod的高级功能需要付费…...
CentOS LVM实战:动态调整home与root分区空间,解决系统盘爆满难题
1. 当服务器根分区告急时,你该怎么办? 最近接手了一台运行了3年的CentOS服务器,刚登录就发现系统弹出了"磁盘空间不足"的警告。df -h一看,好家伙,根分区(/)已经用了98%,而…...
ARM异常处理机制与ESR寄存器详解
1. ARM异常处理机制概述在ARMv8/v9架构中,异常处理是处理器响应硬件或软件事件的核心机制。当发生异常时,处理器会暂停当前程序执行,跳转到预定义的异常向量表入口,同时将异常相关信息记录在异常综合征寄存器(ESR)中。异常可能由多…...
Taotoken CLI工具安装与一键配置全模型环境指南
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken CLI工具安装与一键配置全模型环境指南 对于需要接入多个大模型服务的开发团队而言,统一管理API密钥、模型配置…...
WinHex不只是编辑器:手把手教你用它做磁盘镜像与克隆(避坑指南)
WinHex专业磁盘镜像与克隆实战指南:从取证备份到避坑技巧 1. 为什么WinHex是磁盘操作的首选利器 在数据恢复和取证领域,专业工具的选择往往决定了工作的成败。WinHex作为一款久经考验的十六进制编辑器,其功能远超出普通用户的想象。不同于常规…...
告别Arduino IDE:在Visual Studio Code中搭建高效Arduino开发环境
1. 为什么选择VS Code开发Arduino项目 第一次接触Arduino开发时,大多数人都是从官方Arduino IDE开始的。这个简单的开发环境确实能快速上手,但随着项目复杂度增加,它的局限性就越来越明显:代码补全功能弱、项目管理混乱、调试工具…...
基于加速度计与舵机的自由落体检测滑翔机设计与实现
1. 项目概述:一个基于自由落体检测的自动减速滑翔机如果你对嵌入式硬件、传感器应用或者简单的物理模型感兴趣,那么这个项目绝对能让你玩上一下午。它的核心想法非常直观:我们利用一块内置了加速度计的微控制器板(Circuit Playgro…...
