【网站优化】CDN篇章 七牛 VS Amazon CloudFront
文章目录
【注意】最后更新于 August 29, 2024,文中内容可能已过时,请谨慎使用。
历史背景
网站从19年开始接手,网站CDN就是使用的七牛,网站有三大块使用了七牛的CDN做网站加速
- 静态资源,比如 css、javascript、logo
- 图片资源,比如全站的房源图片资源
- 视频资源,代理商上传的MP4视频,上传至七牛OSS通过多媒体服务转码为 m3u8
这些服务从 2017.10月开始运行到了今天(2024.08),从每月的100~200¥ 到现在的400~500¥(使用套餐抵扣后的每月消费金额)
七牛云提供的对象存储kodo和大多数云服务商如阿里云 OSS,提供的服务基本上都一样,使用起来简单技术文档齐全,而且支持一些附加服务,比如图片裁剪、缩略,跨区复制等等很实用的功能。
再几年的使用过程中,有两个经常遇到的问题?
- 七牛提供 CDN 配置页面只要修改总是会卡主,卡主以后只能提工单人工介入,虽说人工介入蛮快,但每次也会消耗20分钟左右的时间,复发率贼高
- 七牛CDN 回源有时会很慢甚至500,可能我们的源在东京地区 AWS S3上
服务对比
免费额度对比
针对上面出现的问题,我再寻找是否其他更优的替代方案,再通过查找发现 Amazon 本身也提供 CloudFront 全球内容分发网络,而且每月免费额度还多
[!tip] 包含在永久免费套餐中
- 每月传出 1TB 数据至互联网
- 每月 10000000 个 HTTP 或 HTTPS 请求
- 每月 200 万次 CloudFront 函数调用
- 每月 200 万次 CloudFront KeyValueStore 读取
- 免费 SSL 证书
- 无限制,所有功能均可用
对比七牛云每月只有 50GB 的免费流量,CloudFront 真香,
分发质量测试
这里主要针对个单个Logo进行了国内全国主要城市运营线(IDC)网络测试,台湾、日本东京地区测试(因为我们的网站主要流量访客来自台湾)测试结果如下
全国主要城市测试结果
台湾、日本东京地区测试结果
可以明显看出无论是国内主要城市还是国外东京,Amazon 的 CloudFont 都完胜 Qiniu CDN,但在国内部分地区网络可用性存在DNS 解析失败的问题,目测可能是因为使用的是Amazon分配域名导致DNS解析失败。
迁移实施
在真正使用 Amazon CloudFont 之前还需要知道,S3 和 CloudFont 是默认都是不支持图片裁剪服务的,想要实现类似图片基本操作,通过参数完成缩略、格式转换,需要自行实现。
|
|
好在也有相对成熟的方案,使用的技术原理如图所示
参考开源项目:https://github.com/aws-samples/image-optimization
详细的步骤:
|
|
执行CDK命令前还需要三个小步骤这里没有体现,
- 创建IAM用户拿到访问密钥(AK、SK)
- 为该账号分配好权限策略
- 根据分配的账号 AWS CLI
搭建过程中你可能会遇到的问题,需要为当前部署的账号设定权限策略,但是部署CDK需要具体的什么权限策略没有找到明显的说明文档,为此耽误了不少时间,为了快速解决这个问题,这里我使用的自己创建的策略,给予所有权限(这个方式很暴力,不推荐)
|
|
在同样尺寸的图片下,Format=auto,根据浏览器accept
支持的参数自动转换后的图片质量大小也有比较明显的减少,原图127KB
,转化后81.5KB
如果需要指定宽高设定也是可以的,URL 后面追加参数即可,
|
|
再开始实施前,仍是先建议完成基础入门文档的通读,
最后感谢访问,希望对你也有帮助。
引用
文章作者 BING
上次更新 2024-08-29