首页 > 其他分享 >cdn静态资源加速

cdn静态资源加速

时间:2023-07-17 10:02:27浏览次数:36  
标签:缓存 静态 CDN 加速 域名 节点 cdn

阿里云cdn产品

https://www.aliyun.com/product/cdn

CDN通过广泛的网络节点分布,提供快速、稳定、安全、可编程的全球内容分发加速服务,支持将网站、音视频、下载等内容分发至接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。

什么是cdn

全称:Content Delivery Network或Content Ddistribute Network,即内容分发网络

将源网站的资源,缓存到全国各地的边缘服务器,提供给用户就近获取,降低源服务器的压力。

为什么需要cdn

优势:

如果你在经营一家网站,那你应该知道几点因素是你制胜的关键:

  1. 内容有吸引力
  2. 访问速度快
  3. 支持频繁的用户互动
  4. 可以在各处浏览无障碍

从网站的运营商业角度分析,网站每慢1秒,就会丢失很多的方可,甚至这些访客永远都不会再访问。

一个网页的加载,其实就是

css
js
html
png、gif、text等一堆资源的整合
如何快速的让客户端获取到这些资源是必要问题

CDN就是来拯救资源访问慢的问题的。

cdn特点

1.分布式全国都有节点,要看该cdn服务器的分布情况,覆盖情况
2.高速宽带
3.用户就近访问原则,智能解析

目前最主流的cdn产品,就是选择公有云cdn,以阿里云cdn为主

阿里云内容分发网络CDN(Content Delivery Network)是建立并覆盖在承载网之上,由遍布全球的边缘节点服务器群组成的分布式网络。阿里云CDN能分担源站压力,避免网络拥塞,确保在不同区域、不同场景下加速网站内容的分发,提高资源访问速度。

阿里云在全球拥有2800+节点。中国内地(大陆)拥有2300+节点,覆盖31个省级区域;海外、中国香港、中国澳门和中国台湾拥有500+节点,覆盖70多个国家和地区。全网带宽输出能力达150 Tbps。

CDN将源站资源缓存到阿里云遍布全球的加速节点,当终端用户请求访问和获取源站资源时无需回源,可就近获取CDN节点上已经缓存的资源,提高资源访问速度,同时分担源站压力。目前CDN部分节点已支持通过IPv6访问。

CDN接入快捷、简单,您不需要调整现有业务结构,也不需要进行复杂的配置,只需要在CDN控制台进行简单操作,即可将域名接入阿里云,享受全球链路加速服务。
通过快速入门,您可以轻松开启CDN加速服务。

总结特点就是,阿里云提供的cdn资源加速服务,只要你的网站静态资源放在阿里云cdn上,你的网站就可以为全国的用户,都提供高速的网站访问服务。

  • 全国节点多,云南的兄弟可以秒级打开,佳木斯的兄弟也可以,如果你的网站为海外用户提供服务,也是一样,阿里云全球都有服务器节点。
  • 稳定、高性能
  • 充足的带宽,存储能力
  • 完善的监控体系,7*24小时全网监控,及时告警。

cdn给网站带来了什么

  • 为了实现跨运营商、跨地域的全网覆盖

互联不互通、区域ISP地域局限、出口带宽受限制等种种因素都造成了网站的区域性无法访问。CDN加速可以覆盖全球的线路,通过和运营商合作,部署IDC资源,在全国骨干节点商,合理部署CDN边缘分发存储节点,充分利用带宽资源,平衡源站流量。

  • 为了保障你的网站安全

CDN的负载均衡和分布式存储技术,可以加强网站的可靠性,相当无无形中给你的网站添加了一把保护伞,应对绝大部分的互联网攻击事件。

  • 为了异地备援

当某个服务器发生意外故障时,系统将会调用其他临近的健康服务器节点进行服务,进而提供接近100%的可靠性,这就让你的网站可以做到永不宕机。

  • 为了节约成本投入

使用CDN加速可以实现网站的全国铺设,你根据不用考虑购买服务器与后续的托管运维,服务器之间镜像同步,也不用为了管理维护技术人员而烦恼,节省了人力、精力和财力。

  • 为了让你更专注业务本身

CDN加速厂商一般都会提供一站式服务,业务不仅限于CDN,还有配套的云存储、大数据服务、视频云服务等,而且一般会提供7x24运维监控支持,保证网络随时畅通,你可以放心使用。并且将更多的精力投入到发展自身的核心业务之上。

简单理解cdn

  • 通俗的说CDN就像是网络中的快递小哥,把资源高效的送到客户电脑上。

img

  • 并且这个cdn快递员,还很智能,不是在横冲直撞
  • 多个节点,且提供缓存(如同快递驿站,加速数据读取)
  • 智能路线优化,选择就近节点

 

因此cdn的作用就是,无论你在世界任何角落,只要联网了,cdn服务就可以如同把源服务器搬到了你面前,让你高速的访问,带来极致体验。

来看看哪些企业在用阿里云cdn

阿里云CDN帮助众多客户解决了因分布、带宽、服务器性能带来的访问延迟问题,极大提升了用户体验。

典型客户详细说明
天猫 依托阿里云CDN先进的分布式系统架构,天猫显著降低了业务带宽和运营成本。不仅加速了全球各地用户的日常访问,也从容应对历年双11购物节的极限访问挑战。
淘宝 淘宝PC端、手机淘宝等全部内容分发业务均由阿里云CDN支持,面对海量图片处理需求,毫秒级响应速度,图片加载达到秒刷效果,极大提升了用户体验。
支付宝 阿里云CDN全面支持支付宝金融业务。HTTPS加密通道访问,既提高了支付宝的用户体验,又有效防止了DNS和资源被劫持或篡改,保障了用户的信息和财产安全。
UC 阿里云CDN帮助UC的Web端显著降低了整体业务的带宽成本。配合OSS的存储服务,不仅降低了大量IT硬件投入的成本,也降低了开发及运维的难度,减少了工作量。
优酷 优酷的长视频、短视频、音频、图片等多媒体业务均由阿里云CDN提供访问加速服务,保证了PC端和手机端用户访问优酷内容时可以快速加载、稳定连接,极大地提升了用户的使用体验。

b站

 

curl -I https://i0.hdslb.com/bfs/banner/8c066550bde2d4d9cdd2b1226f73a6d132800d2a.png@976w_550h_1c.webp

 

看到这一段信息,表示该资源使用的是cdn服务器。

淘宝网

 

➜  02-综合架构篇 curl -I https://gw.alicdn.com/tfs/TB176rg4VP7gK0jSZFjXXc5aXXa-286-118.png
HTTP/1.1 200 Connection established

HTTP/2 200
server: Tengine
content-type: image/png
content-length: 3239
date: Fri, 17 Dec 2021 06:59:30 GMT
expires: Wed, 15 Jun 2022 06:59:30 GMT
cache-control: max-age=15552000
last-modified: Tue, 15 Dec 2020 11:07:54 GMT
ali-swift-global-savetime: 1639724370
via: cache38.l2na63-1[0,0,200-0,H], cache20.l2na63-1[1,0], cache15.cn414[0,0,200-0,H], cache13.cn414[1,0]
access-control-allow-origin: *
age: 12010672
x-cache: HIT TCP_MEM_HIT dirn:12:98224203
x-swift-savetime: Sat, 30 Apr 2022 23:07:22 GMT
x-swift-cachetime: 3916328
s-rt: 1
timing-allow-origin: *
eagleid: 7d2787a116517350429458393e

依然是,只要看到x-cache响应头的信息,表示这个图片资源来自于cdn服务器。

没有使用cdn的资源

于超老师这个图片资源,就单独的放在了自己这台机器上,属于是源站服务器。

 

http://yuchaoit.cn:8090/upload/2022/05/Xnip2022-05-01_16-32-30-b82235c9b62c42af8ea25e0313ca42f7.jpg

cdn工作原理(重要)

 

 

文字描述cdn工作原理

1.当用户(人在北京)访问www.yuchaoit.cn域名下的指定资源时,首先向本地DNS发起域名解析请求

2.LDNS检查缓存中是否有www.yuchaoit.cn的IP地址记录,有则直接返回给用户;没有向授权服务器发起DNS查询;

3.授权DNS服务器解析www.yuchaoit.cn时,返回域名的CNAME(又指向了另一个cdn域名)

4.此时该请求就已经发给了阿里云的cdn服务器,经过阿里云的DNS调度系统,返回该cdn域名对应的最佳IP地址(离该用户最近的)

5.此时LDNS获得阿里DNS返回的cdn解析的IP地址。

6.用户拿到了cdn的ip地址

7.用户向该ip发起资源请求。

- 如果该cdn对应的节点已经缓存了该静态资源,数据直接返回给用户
- 若cdn服务器中的资源过期或不存在,该节点会向源站发起该资源的请求,拿到资源后,结合用户设置的cdn缓存策略,将资源缓存到该节点,便于下次访问。

至此cdn请求结束。

CDN衡量指标

让你的网站静态资源使用了如阿里云提供的cdn加速服务,如何衡量它的确起了加速作用?不能白花这钱把,通过如下指标衡量

延时

网络延时指一个数据包从用户的计算机发送到网站服务器,然后再立即从网站服务器返回用户计算机的来回时间。

通俗的讲,就是数据从电脑这边传到那边所用的时间。

延时越低、性能约好。

 

指标衡量表

参考阿里云

https://help.aliyun.com/document_detail/140425.html

指标说明
DNS时间 指从浏览器终端发起的访问请求开始,到浏览器终端获得最终访问主机IP地址所消耗的时间。
TCP时间 指客户端与目标服务器建立TCP连接所消耗的时间。
SSL时间 指客户端和Web服务器建立安全套接层(SSL)连接的消耗时间。
发送时间 指SSL握手完成开始发送请求到请求发送完成所消耗的时间。
建立连接时间 建立连接时间简称为建连时间,如果CDN节点使用HTTP协议加速客户业务,建连时间包含“DNS时间+TCP时间”;如果CDN节点使用HTTPS协议加速客户业务,建连时间包含“DNS时间+TCP时间+SSL时间”。建立连接的时间长短,可以反映CDN服务的节点资源覆盖的丰富程度以及调度能力。
响应时间 指浏览器发出HTTP请求后,Web服务器进行后台处理以及响应的时间。
下载用时 指您收到Web服务器返回的第一个数据包,到完成下载的总时间。
首包时间 指从客户端开始发送请求到收到服务器端返回的第一个HTTP协议数据包之间所需要的时间,首包时间可以反映出CDN服务节点的整体性能。在上传路径中,首包时间主要包含了DNS解析时间、TCP用时、SSL用时、发送时间和响应时间。在下载路径中,首包时间主要包含了DNS解析时间、TCP用时、SSL用时、发送时间和响应时间。说明 刚购买的域名,通常解析时间较长,和CDN的缓存时间无关。
整体性能 指完成整个文件的上传或下载所需要的总时长。
丢包率 指在网络传输中丢失数据包的数量占发送数据包总数的比率。
回源率 回源率分为回源请求数比例及回源流量比例两种:回源请求数比:指CDN节点(包括边缘节点和汇聚节点)对于没有缓存、缓存过期(可缓存)和不可缓存的请求占全部请求的比例。回源请求数比=CDN节点回源请求数÷用户访问CDN节点的总请求数,通常越低则性能越好(如果CDN回源做了分片,但是用户访问CDN没有分片,那么会出现CDN节点回源请求数远大于用户访问CDN的请求数的情况)。回源流量比:回源流量指的是CDN节点回源拉取资源的过程中源站响应给CDN节点的所有流量。回源流量比=源站响应给CDN节点的总字节数÷CDN节点响应给用户的总字节数,比值越低,性能越好。
缓存命中率 CDN缓存命中率包括字节命中率和请求命中率,CDN缓存命中率通用指字节命中率,缓存命中率越高,性能越好。字节命中率=(CDN节点响应用户的总字节数-源站响应CDN节点的总字节数)÷CDN节点响应用户的总字节数。说明 字节缓存命中率越低,回源流量越大,源站的流出流量越大,源站的带宽资源以及其他的负载越大,因此回源流量代表了源站服务器接收到的负载压力,在业务使用中主要关心字节缓存命中率。请求命中率=(用户访问CDN节点的总请求数-CDN节点回源请求数)÷用户访问CDN节点的总请求数。

加速图片小文件的主要指标

图片小文件主要指HTMLJSJPGCSS等网页资源,延迟时间是决定高性能的关键,延迟越小,性能越好。以下指标均会影响延迟时间:

  • 首包时间(最核心)。
  • 建立连接时间。
  • 传输时间(下载用时)。

针对图片小文件加速,阿里云CDN有专门的应用场景配置指导。详细信息,请参见图片小文件

加速大文件下载的主要指标

大文件下载指单个文件的大小在20 MB以上的下载,该场景核心的指标为:

  • 下载速度。
  • 下载总时间。

针对大文件下载加速,阿里云CDN有专门的应用场景配置指导。详细信息,请参见大文件下载

上传数据

 

下载数据

 

CDN常见概念

加速域名

使用阿里云CDN加速指定网站(源站)的业务前,需要添加源站加速域名,并接入CDN。

添加加速域名后,系统会将相关域名配置下发至全网CDN加速节点,此时不会影响您的现网业务。

简单说就是你需要使用cdn资源加速的域名

域名可以是一组服务器的地址,如*.yuchaoit.cn
可以是官网,邮件,ftp等各种服务

CNAME记录

成功添加加速域名后,CDN会为您分配一个CNAME域名。

您需要在域名解析服务商处将加速域名的DNS解析记录指向CNAME域名,访问请求才能转发到CDN节点上,实现CDN加速。

1.简单说就是 创建好了cdn后,会得到一个cdn域名
2.你需要将你需要加速的域名(如cdn.yuchaoit.cn),解析到这个cdn域名上(设置CNAME)
3.然后就会根据上述超哥讲的cdn工作原理开始解析

CNAME就是域名别名,用于把一个域名解析到另一个域名,再用另一个域名提供IP地址。

CNAME举例

  1. 你的网站静态数据原本都在static.yuchaoit.cn这个机器上
  2. 现在想通过pic.yuchaoit.cn也能访问到static.yuchaoit.cn的资源
  3. 因此就是给pic.yuchaoit.cn配置一个CNAME域名解析到static.yuchaoit.cn
  4. 以后访问pic.yuchaoit.cn的请求,都会被转发给static.yuchaoit.cn获得相同的数据。

DNS

DNS就是域名解析,将域名转化为网络可识别的IP地址号。

域名是为了便于人类记忆,解析动作由域名服务器自动完成。

yuchaoit.cn
在权威服务器(腾讯云DNS)注册了解析关系
123.206.16.61

SSL、TLS、HTTPS

什么是HTTPS

HTTP协议以明文方式发送内容,不提供任何方式的数据加密。

HTTPS协议是以安全为目标的HTTP通道,简单来说,HTTPS是HTTP的安全版,即将HTTP用SSL/TLS协议进行封装,HTTPS的安全基础是SSL/TLS协议。

HTTPS提供了加密通讯方法,被广泛用于万维网上安全敏感的通讯,例如交易支付。

 

CDN设置https

在阿里云CDN控制台开启的HTTPS协议,将实现客户端和阿里云CDN节点之间请求的HTTPS加密。如果需要实现全链路HTTPS加密,还需要配置CDN节点以HTTPS协议回源到源站服务器(源站服务器需要支持HTTPS协议)。

HTTPS加密流程如下图所示。

 

阿里云cdn实践

1.创建cdn加速域名

 

2.添加域名

1.添加加速域名

添加加速域名,也就是你暴露给用户的域名,支持泛域名
www.apecome.com

2.首次添加,需要添加dns解析txt记录

添加步骤

 

3.添加源站信息

也就是源数据根本是从哪个机器提供的。

 

4.添加cdn域名成功

请注意,提示你,还剩下CNAME的配置,该cdn域名就可以用了。

 

5.查看cdn域名

 

该cdn域名等待配置中,还未使用

 

6.配置CNAME

 

 

还未配置CNAME

➜  ~ nslookup www.apecome.com 223.5.5.5
Server:        223.5.5.5
Address:    223.5.5.5#53

Non-authoritative answer:
Name:    www.apecome.com
Address: 123.57.242.10

配置CNAME

 

 

刷新cdn域名管理

 

查看cdn解析记录

➜  ~ nslookup www.apecome.com 223.5.5.5
Server:        223.5.5.5
Address:    223.5.5.5#53

Non-authoritative answer:
www.apecome.com    canonical name = www.apecome.com.w.kunlunaq.com.
Name:    www.apecome.com.w.kunlunaq.com
Address: 121.29.38.136

7.添加cdn静态资源

 


 


 

CDN常见问答

CDN加速是对网站所在服务器加速,还是对其域名加速?

CDN是只对网站的某一个具体的域名加速。

如果同一个网站有多个域名,则只有加入CDN的域名获得加速效果,访问未加入CDN的域名,或者直接访问IP地址,则无法获得CDN效果。

添加CDN后源网站需要修改吗

一般不需要任何修改操作,只需要修改加速域名,设置CDN加速。

为什么网站页面更新了,通过CDN看到依然是旧的数据

CDN有缓存机制,源站的网页更新后,CDN如果不重新缓存,因此看到就是旧数据。

因此CDN管理面板提供了URL推送功能,强制通知CDN刷新缓存。

 

如何让CDN不缓存某些动态数据

一般做法是,源站的动态、静态数据,分为两个url解析,CDN只处理静态页面URL。

网站新增了一些数据,需要对URL推送吗?

不需要,因为新数据本身CDN缓存里就没有。

标签:缓存,静态,CDN,加速,域名,节点,cdn
From: https://www.cnblogs.com/sxy-blog/p/17559148.html

相关文章

  • springboot中静态资源的访问相关知识
    一、基本介绍:(一)、只要静态资源放在类路径下(什么是类路径:在resources文件下)默认是这几个目录文件:/static、/public、/resources、/META-INF/resources等目录下的文件直接能够被访问(二)、常见的静态资源:Js、css、图片(jbg、png、svg、gif、bmp)、字体文件(fonts)等(三)、访问方式:......
  • 【Implementation】Vivado增量编译:加速FPGA设计实现
    一、Vivado增量编译概述Vivado增量编译(IncrementalImplementation),是指针对设计中已经完成的部分,仅编译修改的部分,并在这些部分重新生成比特流,以加速设计实现的过程。简单来说,就是只更新那些被修改过的代码,而不是每次都对整个设计进行重新编译。与传统的完全重新编译相比,Vivado......
  • 【Python】从同步到异步多核:测试桩性能优化,加速应用的开发和验证
    测试工作中常用到的测试桩mock能力在我们的测试工作过程中,可能会遇到多个项目并行开发的时候,后端服务还没有开发完成,或者我们需要压测某个服务,这个服务测在试环境的依赖组件(如MQ)无法支撑我们svr的并发访问的场景,这个时候我们可能就需要手写一个服务,来替代测试环境的这些依赖组......
  • 静态vlan的划分
    静态vlan的划分1,toupu图2,配置id与子网掩码2.1,pc,server的ip与子网配置pc5pc6pc7pc8server1server23,vlan的静态划分1,vlan20的划分1.1,将pc5划分到vlan201.2,将pc6划分到vlan201.3,交换机与交换机的划分SW3SW21.4,见过server划分到vlan204,ping通pc5,这......
  • IDM百度网盘加速下载方法
    步骤1:安装用户脚本管理器网址:如何安装用户脚本(greasyfork.org)步骤2:安装百度网盘千千下载助手网址:百度网盘千千下载助手(greasyfork.org)步骤3:下载IDMIDM下载地址:IDM_v6.38.7.2.rar-蓝奏云(lanzouw.com)配置IDM千千助手教程(qianqian.club)百度网盘提速下载......
  • 加速LakeHouse ACID Upsert的新写时复制方案
    概述随着存储表格式ApacheHudi、ApacheIceberg和DeltaLake的发展,越来越多的公司正在这些格式的基础上构建其Lakehouse,以用于许多用例,例如增量摄取。但当数据量增加时,更新插入的速度有时仍然是一个问题。在存储表中,使用ApacheParquet作为主要文件格式。在本文中我们......
  • .NET Native AOT的静态库与动态库
    .NET不仅可以使用C静态库与动态库,也可以将.NET实现的函数导出为C静态库与动态库。在没有NativeAot之前,.NET只能通过P/Invoke享受C/C++生态,而在NativeAot之后,不仅可以享受这些生态,还可以开发SDK供其他语言调用。.NETNativeAOT的NativeLib参数用于指定本机库的类型。在.NET7......
  • nginx部署静态网页
    一、下载运行进入nginx官网下载页面:nginx下载地址,下载稳定版本 运行方式一:nginx下载目录双击允许nginx.exe运行方式二:nginx命令行启动,在下载目录地址栏输入cmd,输入startnginx任务管理器出现nginx.exe表示启动成功二、常用命令nginx-ssignal当信号可以是下列之一:......
  • 帝国cms 全站伪静态规则设置
    帝国cms因为目前来说是免费使用得,而且对于数据承载量以及其他栏目设置方面还是比较友好得,现在大部分网站已经采用帝国cms系统来做了。伪静态相对于静态来说会有更多得好处,今天就说下帝国cms伪静态规则设置方面得问题帝国CMS伪静态nginx版:rewrite^([^\.]*)/listinfo-(.+?)-(.+......
  • “开放合作 共享未来”华秋联手伙伴共创硬件生态,助力物联网硬件加速创新
    2023年7月11日,华秋携产品与方案亮相慕尼黑上海电子展(electronicaChina),并与5家生态伙伴签署硬件生态共创战略协议,通过“硬件+软件+供应链”的合作模式,发挥各自行业优势,共同推动电子产业的创新发展。以下为本次签约的伙伴:上海先楫半导体科技有限公司(以下简称“先楫半导体”)湖南......