互联网并发与安全系列教程(04) - CDN内容分发

本文涉及的产品
.cn 域名,1个 12个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 互联网并发与安全系列教程(04) - CDN内容分发

引言

首先来回顾一下DNS的概念:DNS 即Domain Name System,是域名解析服务的意思。它在互联网的作用是:把域名转换成为网络可以识别的ip地址。人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。

比如:上网时输入的www.baidu.com会自动转换成为220.181.112.143

常见的DNS解析服务商有:阿里云解析万网解析DNSPod新网解析Route53(AWS)DynCloudflare等。


传统方式架构弊端:

  1. 带宽传输压力大
  2. 因为所有用户全部聚集到同一个地区服务器上访问,无法保证整体的系统高可用
  3. 因为如果客户端与服务器端传输距离越远,那么宽带传输非常耗资源,导致用户体验非常差,响应慢。

为了解决上述的问题,引出了 “CDN” 这个概念。

CDN

什么是CDN?

CDN加速意思就是在用户和我们的服务器之间加一个缓存机制,动态获取IP地址根据地理位置,让用户到最近的服务器访问。

CDN 全称是Content Delivery Network,即内容分发网络。

  • CDN是一组分布在多个不同地理位置的Web服务器,用于更加有效地向用户发布内容,在优化性能时,会根据距离的远近来选择。
  • CDN系统能实时地根据网络流量和各节点的连接,负载状况及用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,其目的是使用户能就近地获取请求数据,解决网络拥塞,提高访问速度,解决由于网络带宽小、用户访问量大、网点分布不均等原因导致的访问速度慢的问题。
  • CDN由于部署在网络运营商的机房,这些运营商又是终端用户网络的提供商,因此用户请求的第一跳就到达CDN服务器,当CDN服务器中缓存有用户请求的数据时,就可以从CDN直接返回给浏览器,因此可以提高访问速度。
  • CDN能够缓存JavaScript脚本、CSS样式表、图片、图标、Flash等静态资源文件(不包括html页面),这些静态资源文文件的访问频率很高,将其缓存在CDN可以极大地提高网站的访问速度,但由于CDN是部署在网络运营商的机房,所以在一般的网站中都很少用CDN加速

CDN内容分发原理

  1. 用户向浏览器提供要访问的域名;
  2. 浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,使用的全局负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得用户能就近访问;
  3. 此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的IP地址以后,向缓存服务器发出访问请求;
  4. 缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;
  5. 缓存服务器从实际IP地址得得到内容以后,一方面在本地进行保存,以备以后使用,另一方面把获取的数据返回给客户端,完成数据服务过程;
  6. 客户端得到由缓存服务器返回的数据以后显示出来并完成整个浏览的数据请求过程。

基于阿里云战搭建CDN内容分发

使用阿里云CDN默认开通域名

可以参考阿里云CDN帮助文档:https://help.aliyun.com/document_detail/27101.html?spm=a2c4g.11174283.6.539.NPTXlI

阿里云全站CDN后台管理页面

:https://dcdn.console.aliyun.com/?spm=5176.8232187.domainlist.2.1afb142fNzk20a#/overview

相关名词解析

CNAME 即别名( Canonical Name ): 可以用来把一个域名解析到另一个域名。当 DNS 系统在查询 CNAME 左面的名称的时候,都会转向 CNAME 右面的名称再进行查询,一直追踪到最后的 PTR 或 A 名称,成功查询后才会做出回应,否则失败。例如,你有一台服务器上存放了很多资料,你使用docs.example.com去访问这些资源,但又希望通过documents.example.com也能访问到这些资源,那么你就可以在您的DNS解析服务商添加一条CNAME记录,将documents.example.com指向docs.example.com,添加该条CNAME记录后,所有访问documents.example.com的请求都会被转到docs.example.com,获得相同的内容。

CNAME域名: 接入CDN时,在阿里云控制台添加完加速域名后,您会得到一个阿里云CDN给您分配的CNAME域名,(该CNAME域名一定是*.*kunlun*.com), 您需要在您的DNS解析服务商添加CNAME记录,将自己的加速域名指向这个*.kunlun.com的CNAME域名,这样该域名所有的请求才会都将转向阿里云CDN的节点,达到加速效果。

详细参考地址: https://help.aliyun.com/document_detail/27102.html?spm=a2c4g.11186623.6.544.ERnv0c

阿里云内容分发基础介绍可以参考文章:《阿里云内容分发网络(CDN)》

总结

相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
3月前
|
缓存 应用服务中间件 nginx
Web服务器的缓存机制与内容分发网络(CDN)
【8月更文第28天】随着互联网应用的发展,用户对网站响应速度的要求越来越高。为了提升用户体验,Web服务器通常会采用多种技术手段来优化页面加载速度,其中最重要的两种技术就是缓存机制和内容分发网络(CDN)。本文将深入探讨这两种技术的工作原理及其实现方法,并通过具体的代码示例加以说明。
280 1
|
20天前
|
存储 网络协议 安全
阿里云国际CDN加速图文和视频类网站操作教程
阿里云国际CDN加速图文和视频类网站操作教程
|
3月前
|
存储 缓存 负载均衡
什么是CDN(内容分发网络)?
什么是CDN(内容分发网络)?
241 7
|
3月前
|
域名解析 缓存 负载均衡
你还别不信,大把网工还不懂:全局负载均衡与 CDN 内容分发!
你还别不信,大把网工还不懂:全局负载均衡与 CDN 内容分发!
|
5月前
|
CDN 缓存 UED
【计算巢】内容分发网络(CDN):加速全球内容传输的技术
【6月更文挑战第3天】内容分发网络(CDN)是加速全球内容传输的关键技术,通过在全球建立节点服务器,缓存内容以减少传输延迟。CDN在电商、视频流媒体等领域提升用户体验,确保快速加载速度。示例代码展示了CDN基本逻辑。然而,构建高效CDN需解决缓存策略、节点管理等问题,并依据业务需求规划配置。随着技术演进,CDN将持续优化性能,为数字生活带来更多便利。
77 3
【计算巢】内容分发网络(CDN):加速全球内容传输的技术
|
6月前
|
域名解析 人工智能 安全
【CDN产品测评-笔记】探索云服务中的安全和性能增强功能
【CDN产品测评-笔记】探索云服务中的安全和性能增强功能
75 8
【CDN产品测评-笔记】探索云服务中的安全和性能增强功能
|
6月前
|
缓存 监控 UED
CDN(内容分发网络):加速网站加载与优化用户体验
CDN(内容分发网络):加速网站加载与优化用户体验
|
6月前
|
存储 安全 网络安全
安全开发实战(1)--Cdn
本文介绍了关于渗透测试中如何检测网站是否使用CDN(内容分发网络)的方法。CDN是一种优化网络内容传输的技术,通过在多个地理位置部署服务器节点,将网站内容缓存,以加快内容加载速度。在渗透测试中,网站使用CDN可能会影响IP地址的判断和进一步渗透,通过两种方式来进行判断,最后经过不断改进与调试,达到批量监测的功能。
安全开发实战(1)--Cdn
|
6月前
|
弹性计算 缓存 安全
【阿里云弹性计算】阿里云ECS与CDN结合:构建高性能全球内容分发网络
【5月更文挑战第26天】阿里云ECS与CDN结合打造高性能全球内容分发网络,通过ECS的弹性伸缩和安全可靠性,配合CDN的全球覆盖、高可用性及安全防护,提升访问速度,减轻服务器压力,优化数据传输。以WordPress为例,通过配置CDN域名和ECS,实现高效内容分发,提高系统扩展性和稳定性。此解决方案满足用户对访问速度和稳定性的高要求,为企业提供优质的云计算体验。
171 0
|
6月前
|
边缘计算 缓存 网络协议
内容分发网络CDN
阿里云内容分发网络CDN(Content Delivery Network)是建立并覆盖在承载网之上,由遍布全球的边缘节点服务器群组成的分布式网络
109 2