目前在公司的开发过程中,发现很多存储在oss的静态资源(图片,安装包)的链接中域名都使用了cdn域名,后面了解到这个cdn域名的主要作用是加速资源的访问,于是抽空了解了一下CDN加速原理。
目前使用得比较多的是阿里云的CDN加速
内容分发网络(CDN)是一种通过在全球各地部署服务器节点,将内容(如网页、图片、视频、文件等)缓存到靠近用户的边缘节点上,从而加速内容传输和提升用户访问体验的网络服务。
1.加速内容传输: CDN通过在全球范围内分布的边缘节点缓存内容,使用户可以就近获取数据,从而降低网络延迟,提高传输速度。
2.减轻源站负载: CDN节点缓存了源站的内容,当用户请求访问时,可以直接从节点获取内容,减少源站的负载压力。
3.提高内容可靠性: CDN通过冗余备份和多节点分发,提高了内容的可用性和稳定性,即使某个节点发生故障,其他节点仍可提供服务。
4.安全防护: CDN可提供基础的安全功能,如DDoS攻击防护、网络安全检测等,保护源站免受恶意攻击。
假设您的加速域名为mage-gametool-com-test.oss-cn-hangzhou.aliyuncs.com,接入CDN开始加速服务后,当终端用户在北京发起HTTP请求时,处理流程如下图所示。
现在我将图片等资源上传到了阿里云的对象存储服务(OSS),然后配置了一个CDN域名来加速这些资源的访问。
在CDN中,“源站”是指存储着原始内容(例如上传到OSS中的图片等资源)的服务器或存储位置。在您的情况下,OSS存储桶可以被视为您资源的源站,因为它存储了您的原始文件。
CDN在加速过程中会将这些资源缓存到其全球分布的节点上,当用户请求访问这些资源时,CDN会优先尝试在最接近用户的节点上找到缓存的资源。如果该节点上有缓存,用户将直接从该节点获取资源,而不需要再次访问您的OSS源站,从而提高了访问速度和性能。
所以,在这种情况下,OSS存储桶中存储的图片和资源是CDN加速的源站,CDN会通过缓存和分发这些资源来提供更快速的访问体验。