AWS 之 CloudFront(内容分发服务CDN) 简介
Amazon CloudFront 是一个内容分发网络,该服务可以很容易地将内容投送到终端用户,具有低延迟、高数据传输速率等特点。简单来说就是使用CDN进行网络加速。
CDN 是什么
CDN 是Content delivery network(内容分发网络)的简称,这一技术以往只应用于大型商业性网站。通过使用这种技术,可以将网站上的静态内容(例如.html文件、CSS文 件、JS 文件、图片)和动态内容(例如数据库查询)缓存到CDN提供商位于全球各地的多个服务器上。这样当全世界不同访客访问这个网站的时候,就不再需要通过网站 所在服务器读取这些内容,而是可以从就近的CDN缓存服务器上读取,因此内容的读取速度更快,直接影响就是网页的加载速度更快。
CloudFront 是什么
由于 CDN 可以显著提升 Web 服务的用户体验,因此各大门户网站、社交网站,以及网络视频站点,都会使用各种CDN技术。对于技术实力强大,并且有充足预算的企业,可能会自行在全球各 地搭建缓存服务器;但预算不充足,或内容数量过少,自建CDN网络不划算的企业,则会考虑使用专门的CDN服务提供商,借助提供商建好的网络进行加速,并 为此付费。
CloudFront 就是 AWS 提供的一套覆盖全球的 CDN 网络。
CloudFront 在云平台网站中的应用
目前云平台网站的静态资源存储在美国区的 Amazon S3 buckets 中,如果不应用的 CloudFront 的话,全世界各地的用户访问云平台网站时,都要从 S3 拉取静态资源。
以网站首页的这张图片为例:
从美国直接访问其 S3 链接,耗时 3.58s:
从瑞典直接访问其 S3 链接,耗时 6.11s:
在 CloudFront 建立一个新的分发,将其指向 S3 中的静态文件,并为其生成对应的 URL。CloudFront会根据配置去相应的origin拿数据,并缓存起来到全球的各个edge location。用户访问对应的 URL 时,就可以从就近的 edge location 中拉取数据。
还是前面那张图片,从美国访问其 CloudFront 链接,耗时 0.111s :
从瑞典访问其 CloudFront 链接,耗时 0.035s: