性能优化---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在处理流媒体一般都是采用主动推送的方式进行。

相关推荐
NoneCoder11 小时前
CSS系列(26)-- 动画性能优化详解
前端·css·性能优化
苏三说技术15 小时前
Redis 性能优化的18招
数据库·redis·性能优化
程序猿会指北17 小时前
【鸿蒙(HarmonyOS)性能优化指南】内存分析器Allocation Profiler
性能优化·移动开发·harmonyos·openharmony·arkui·组件化·鸿蒙开发
程序猿会指北20 小时前
【鸿蒙(HarmonyOS)性能优化指南】启动分析工具Launch Profiler
c++·性能优化·harmonyos·openharmony·arkui·启动优化·鸿蒙开发
彭亚川Allen1 天前
优化了2年的性能,没想到最后被数据库连接池坑了一把
数据库·后端·性能优化
MClink1 天前
Go怎么做性能优化工具篇之pprof
开发语言·性能优化·golang
京东零售技术2 天前
Taro小程序开发性能优化实践
性能优化·taro
理想不理想v2 天前
wepack如何进行性能优化
性能优化
fantasy_arch2 天前
CPU性能优化-磁盘空间和解析时间
网络·性能优化
码农老起2 天前
企业如何通过TDSQL实现高效数据库迁移与性能优化
数据库·性能优化