通知
文章底部有【技术社群&福利】,不定更新活动、源码,欢迎来撩~~~。
今日主题:
cdn的工作原理、优势、常见应用;
使用步骤、如何确认命中、注意事项;
CDN(内容分发网络) 是一种通过网络将静态资源(如图片、视频、JS、CSS、HTML 文件等)分发到全球各地的服务器节点,以提高网站访问速度和可靠性、降低延迟的技术。CDN 的基本思想是将内容复制到多个服务器上,用户在访问时,能够从距离自己最近的服务器获取数据,从而提高加载速度,减轻源站服务器的压力。
通过这样的方式开场后、相对不了解的应该也会多少明白接下来的一系列讲解,还是很有必要看看得、没时间可以收藏起来、以后慢慢浏览。
一、cdn工作原理
源站(Origin Server):源站服务器是存储原始内容的地方,通常是网站的数据库和核心数据所在。CDN 会从这里获取原始内容,并将其分发到全球的 CDN 节点。
CDN 节点:CDN 网络由分布在全球各地的多个边缘节点(Edge Server)组成。这些节点缓存静态资源(如图片、CSS 文件、JS 文件等),使得用户可以从离他们最近的节点获取资源,减少延迟。
缓存策略:CDN 会根据缓存规则缓存内容。常见的缓存策略包括:
时间有效性:设置缓存内容的有效时间,超时后会重新从源站获取内容。
缓存清除:当内容更新时,CDN 会清除或刷新缓存,确保用户获取到最新内容。
请求路由:当用户访问网站时,CDN 会通过 DNS 解析将用户的请求导向距离用户最近的 CDN 节点,确保最短路径的内容交付。
负载均衡:CDN 能够根据服务器负载自动进行流量分配,确保高效处理大量并发请求,防止单个服务器过载。
二、cdn优势
加速访问速度:用户请求数据时,CDN 会将请求路由到最近的节点,降低了网络延迟,提升访问速度,尤其是对于跨国网站和全球用户的访问。
减轻源站压力:大量的用户请求直接由 CDN 节点处理,减少了源站服务器的负载,从而避免了源站宕机的风险。
带宽优化:CDN 能够提供带宽资源池,分担原始服务器的带宽压力。高流量和突发流量时,CDN 服务器可处理大部分请求,确保网站在高并发情况下稳定运行。
内容缓存与分发:静态资源缓存到 CDN 节点,用户的重复访问能够直接从本地节点获取,减少了源站的带宽和存储压力。
容错和冗余:CDN 具有高度的容错机制,当某个节点发生故障时,流量可以自动路由到其他节点,保证服务的连续性。
安全性增强:CDN 提供的 DDoS 攻击防护、Web 应用防火墙(WAF)、加密协议等可以有效增强网站的安全性。
三、cdn常见应用
加速网站访问:对于跨地域用户访问,CDN 可以大幅减少页面加载时间,提升用户体验。
视频流媒体:视频平台需要处理大量的视频文件请求,CDN 能够实现视频内容的分发和流畅播放。
在线游戏:游戏中需要低延迟的交互,CDN 可将资源分发到离用户最近的节点,确保玩家之间的操作响应迅速。
电子商务网站:在促销期间,电子商务网站可能面临大量访问,CDN 可以有效应对高并发,防止网站崩溃。
软件分发:大型应用的下载(如操作系统、游戏安装包等)通常通过 CDN 提供快速的下载速度。
四、cdn如何配置使用
阿里的服务举例:
添加新的域名管理
域名解析cdn 方式
选择CNAME ,验证cname是否生效,
配置CNAME后,不同的DNS服务商CNAME配置生效的时间也不同。您可以通过输入ping或dig您所添加的加速域名来验证,如果被转向.kunlun*.com,即表示CNAME配置已经生效,CDN功能也已生效。
是否开启https 根据自己api而定,如果开启https ,证书也是免费的,那么需要使用云盾的方式申请。
加速区域也是根据自己流量选择,一般选择中国内地。
缓存配置一般是看你的文件放在服务上 还是其他。
五、如何确认是否命中
举例,用一款存储在oss 中的对外视频做演示:
访问视频&图片,f12 打开网络请求,查看请求头部
via 中代表访问的时候,走的阿里的所有的节点,里面有m 的代表当前节点没命中,h 代表命中。
x-cacge 缓存匹配到的节点信息
X-Swift-CacheTime 代表命中后的缓存时间,下次直接从节点取,不从oss 获取
X-Swift-SaveTime: 代表开始缓存时间,默认加8小时
之前有个场景,只有一个视频用于开场视频,怎么做能让用户第一时间非常流畅加载出来、虽然方案很多(最后效果不错-后续文章要讲的)这个问题是差不多2年前跟阿里的售后沟通的,之前想法比较单一,也是一种经历➕参考吧。
讲到这里cdn也就告一段落了、其实做起来还是比较容易、主要看怎么搭配自己业务使用而已,没有搞过的伙伴上手操作一次在结合文章原理系列,就弄的明明白白滴~~~
分割线
为了让各位方便:交流、资源分享、接私活 等等,可以扫下面二维码(wx:xzzs730),备注 “ 技术 ” 就可以通过审核。
进群的小伙伴请加右侧私人微信(备注:技术)
-----商务合作分隔线----
商务合作,关注公众号回复“商务合作”