CDN加速OSS__存储空间管理_最佳实践_对象存储 OSS-阿里云
传统动静不分离的产品架构(随着访问量在增长,性能会成为瓶颈)
实现动静分离的产品架构(灵活的架构支持海量的用户访问)
适用场景
- 静态文件访问量大,服务器负载高,I/O问题导致用户访问卡顿。
- 静态文件数量大,服务器存储空间不够。
- 静态文件用户访问量大,且分布在各地。
- 移动更新包在某个时间段需要高速下载,且并发下载量高。
架构描述
OSS作为海量文件存储源,静态图片、视频文件、下载包、app更新包等均放在OSS上。OSS作为CDN的源站,通过CDN加速分发,用户通过CDN节点就近获得文件架构优势。
- 降低Web服务器负载,静态文件访问负载全部通过CDN。
- 存储费用最低。OSS的存储费用仅为ECS磁盘费用的50%。
- 海量存储空间,无需考虑存储架构升级。
- 流量费用低,相比直接通过OSS访问,除极少额外增加的回源流量外,主要流量使用CDN流量,单价最低只需 0.26GB,远远低于OSS直接访问的外网流量单价。
实战案例
以一个常见的Web站点为例。www.acar.com是一个刚建立汽车资讯车友交流网站。主站用Php搭建,有10GB的图片素材,部分JS文件。目前购买一台ESC放置所有程序代码,并在ESC上安装MySQL数据库。随着用户访问量的不断增长,不少用户反映,访问网站的速度越来越慢,图片加载慢,网站响应慢。网站技术人员也发现用户上传的图片越来越多,快超过 1TB了。
利用 OSS 和 CDN 可以对网站进行架构优化,实现上图提到的动静分离的产品架构,提升用户访问体验,同时成本也在可控的范围内。具体的解决方案和步骤如下:
对ECS上的网站程序进行整理,把动态程序部分和静态部分分不同的目录管理起来。
- 建立Images目录,放置所有网站高清素材图片。
- 建立Javascript目录,放置所有的JS脚本。
- 建立Attachment目录,放置所有用户上传的图片和附件。
进行 CDN 加速。
- 进入到 OSS控制台首页,单击 CDN加速 。
- 单击 新建Bucket。
- 根据您的ESC所在的区域选择 bucket 所在区域,权限选择 公共读,bucket 名称与ESC上新建的目录的名称对应,比如 “acar-image-bucket”,单击 提交 。
- 输入 image.acar.com 作为您网站高清素材图片的加速域名,单击 下一步。
- 选择默认的自动添加阿里云解析,单击 完成。
上传文件,体验加速效果。
单击 立即上传文件,体验加速效果 。
把您在第 1 步中建立在 ESC 上的 Images 目录下的所有图片文件上传到这里(acar-image-bucket 下)。您可以使用 OSS 客户端工具更加方便灵活的完成图片的上传。
- 单击列表中已经上传文件的 获取地址,您就能获取到该文件的 CDN 加速的访问地址,通常为“您输入的加速域名+’/‘+’文件名’”的格式。
- 逐一完成图片文件的上传。
按照前 3 步的示意,把其他两个文件也通过 CDN加速 的方式上传,分别建立“acar-js-bucket”和”acar-csimages-bucket”两个使用CDN加速的OSS bucket。
在原本ESC系统中,找到原本访问静态文件的代码,把访问URL修改为加速访问的地址。以后用户访问您的网站的静态文件就全部通过OSS+CDN的方式访问,不再占用您ESC的资源。
需要注意的是: 如果您想把用户上传的文件自动同步到“acar-csimages-bucket”中,您可以参考 OSS 相关 SDK 和 API 的 PutObjcet 部分,实现代码级别自动上传。
CDN自动刷新
如果使用了阿里云的 CDN 并绑定了加速域名回源到 OSS,可以使用 OSS 的 CDN 缓存自动刷新功能,此功能在覆盖写的情况下(包括覆盖一个已有的文件、删除一个已有的文件),OSS 会主动刷新 CDN,回源到 OSS 获取覆盖后的文件,用户不需要显式调用 CDN 的刷新接口。刷新的 URL 规则如下:
加速域名 + / + Object
例如绑定的加速域名是image.acar.com
,如果这个域名绑定的 bucket 覆盖上传了一个文件test.jpg
,则 OSS 会刷新掉image.acar.com/test.jpg
这个URL,刷新生效的时间以 CDN 保证的刷新生效时间为准,一般在十分钟以内。
开通方法:选择控制台右侧 实践场景 > CDN加速。
最后更新:2016-11-23 16:04:09
上一篇:
服务端签名直传并设置上传回调__Web端直传实践_最佳实践_对象存储 OSS-阿里云
下一篇:
跨域资源共享(CORS)__存储空间管理_最佳实践_对象存储 OSS-阿里云
上云培训合作伙伴___培训合作伙伴-阿里云
防盗链__存储空间管理_最佳实践_对象存储 OSS-阿里云
云服务器 ECS 申请解锁
SQL Server不停机迁移__数据迁移_用户指南_数据传输-阿里云
新建集合__结构管理_DMS for MongoDB_用户指南(NoSQL)_数据管理-阿里云
健康检查异常___异常排查_负载均衡-阿里云
通过 Docker 工具连接集群__快速入门_容器服务-阿里云
阿里云汇聚畅捷通等合作伙伴开启智能“大航海时代”!轻公司方能弄潮新经济!
释放实例、关闭自动释放__实例_用户指南_云服务器 ECS-阿里云
查询UV数据__资源监控接口_API 手册_CDN-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云