阿里云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…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
