性能优化---CDN

1、CDN概念

CDN是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片等文件发送给用户,来提高性能、可扩展性及低成本地网络内容传递给用户。

典型的CDN可分为:

a、分发服务系统:最基本的工作单元就是Cache设备,cache负责直接响应最终用户的访问请求,把缓存在本地的内容快速地提供给用户。同时cache还负责与源站点进行内容同步,把更新的内容以及本地没有的内容从源站点获取并保存到本地。Cache设备的数量、规模、总服务能力是衡量一个CDN系统服务能力的最基本的指标。

b、负载均衡系统:主要功能是负责对所有发起服务请求的用户进行访问调度,确定提供给用户的最终实际访问地址。两级调度体系分为全局负载均衡GSLB和本地负载均衡SLB。全局负载均衡主要根据用户就近性原则,通过对每个服务节点进行"最优"判断,确定向用户提供服务的cache的物理位置。本地负载均衡主要负责节点内部的设备负载均衡。

c、运营管理系统:运营管理系统分为运营管理和网络管理子系统,负责处理业务层面的与外界系统交互所必须的收集、整理、交付工作,包含客户管理、产品管理、统计分析等功能。

2、CDN的作用

CDN一般会用来托管Web资源(文本、图片、脚本等),可供下载的资源(媒体文件、软件、文档等),应用程序(门户网站等),使用CDN来加速这些资源的访问。CDN作为一种基础的云服务,同样具有资源托管、按需扩展等方面的优势。

性能方面,引入CDN的好处在于:用户收到的内容来自最近的数据中心,延迟更低,内容加载更快;部分资源请求分配给了CDN,减少了服务器的负载。

安全方面,CDN有助于防御DDoS(通过监控分析异常流量,限制其请求频率)、MITM(从源服务器CDN节点到ISP,全链路HTTPS通信)等网络攻击。

3、CDN工作原理

a、用户未使用CDN缓存资源的过程:

浏览器通过DNS对域名进行解析,依次得到此域名对应的IP地址;

浏览器根据得到的IP地址,向域名的服务主机发送数据请求;

服务器向浏览器返回响应数据。

b、用户使用CDN缓存资源的过程:

通过本地DNS对点击的url进行解析,发现该url对应的是一个CDN专用的DNS服务器,DNS系统就会将域名解析权交给CNAME(在域名解析中,实际上解析出来的指定域名对应的IP地址,或者该域名的一个别名,然后再根据这个别名查找对应的IP地址)指向的CDN专用的DNS服务器;

CDN专用的DNS服务器将CDN的全局负载均衡设备IP地址返回给用户;

用户向CDN的全局负载均衡设备发起数据请求;

CDN的全局负载均衡设备根据用户的IP地址,以及用户请求的内容url,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求;

区域负载均衡设备选择一台合适的缓存服务器来提供服务,将该缓存服务器的IP地址返回给全局负载均衡设备;

全局负载均衡设备把服务器的IP地址返回给用户;

用户向该缓存服务器发起请求,缓存服务器响应用户的请求,将用户所需内容发送至用户终端;

如果缓存服务器没有用户想要的内容,那么缓存服务器就会向它的上一级缓存服务器请求内容,以此类推,直到获取到需要的资源。如果最后还是没有,就会回到自己的服务器去获取资源。

4、CDN的使用场景

使用第三方的CDN服务:如果想要开源一些项目,可以使用第三方的CDN服务;

使用CDN进行静态资源缓存:将项目的静态资源(img、css、js)放在CDN上,可以将整个项目放到CDN上,一键部署;

直播传送:直播可以用CDN来提高访问速度。CDN在处理流媒体一般都是采用主动推送的方式进行。

相关推荐
爱喝水的鱼丶5 小时前
SAP-ABAP:接口与报表场景专项优化:RFC/ODATA 接口、ALV 报表的性能提升方案
运维·性能优化·接口·sap·abap·rfc·经验交流
灯澜忆梦15 小时前
【MySQL11】进阶篇 | 索引_#3使用规则
数据库·sql·mysql·性能优化
starzhang16 小时前
05 从 Perfetto 看懂 Binder 调用链
性能优化
大龄秃头程序员17 小时前
一次关于 LRUCache 的工程化落地:从数据结构到 Feed 图片缓存实践
性能优化
jeffwang17 小时前
我把同一个压测做错了三次,第四次才发现真正的瓶颈
分布式·性能优化·rust
番茄炒鸡蛋加糖18 小时前
专项2:项目性能优化&可量化指标
性能优化
DsirNg19 小时前
中级前端开发知识体系:从“会做页面”到“能独立交付中型项目”
javascript·性能优化·typescript·工程化·浏览器原理·web 安全·前端进阶
灯澜忆梦1 天前
【MySQL10】进阶篇 | 索引_#2性能优化
数据库·sql·mysql·性能优化
古法安卓1 天前
Android-深入理解 Android 回调(Callback)机制
android·性能优化·android studio
fivebliss2 天前
取算存三步细化及延迟指标解析
人工智能·性能优化