基于阿里云oss+cdn服务的文件动静分离架构_文件分离_产品架构 ...
VIEW CONTENTS
摘要: 在该架构中,OSS作为海量文件存储源,静态图片、视频文件、下载包、App更新包等均放在OSS,同时OSS作为CDN的源站,通过CDN加速分发,用户通过CDN节点就近获得文件。 ...
点击领取2000元阿里云代金券,付款抵现金用,云服务器69元/年限时抢>>>    点击咨询成为阿里云VIP客户享永久折扣>>>
点击领取2860元腾讯云代金券,付款抵现金用云服务器88元/年限时抢>>>    点击成为腾讯云VIP客户享永久折扣优惠>>>
点击进入华为云最新优惠活动现场>>>    点击成为华为云VIP客户享永久折扣优惠>>>

基于阿里云oss+cdn服务的文件动静分离架构

数据存储与数据库架构
摘要 文件分离,产品架构在该架构中,OSS作为海量文件存储源,静态图片、视频文件、下载包、App更新包等均放在OSS,同时OSS作为CDN的源站,通过CDN加速分发,用户通过CDN节点就近获得文件。


(福利推荐:【腾讯云】云产品采购季,助力行业复工。1核2G云服务器,首年99元,立即抢购>>>

背景


传统动静不分离的产品架构,随着访问量在增长,性能会成为瓶颈。以一个常见的Web站点为例。www.acar.com是一个刚建立汽车资讯车友交流网站,主站用Php搭建,有10GB的图片素材,部分JS文件。目前购买一台ECS放置所有程序代码,并在ECS上安装MySQL数据库。随着用户访问量的不断增长,不少用户反映,访问网站的速度越来越慢,图片加载慢,网站响应慢,同时网站技术人员也发现用户上传的图片越来越多,快超过1TB了。在这种情况下,用户可以通过利用OSS和CDN对网站进行架构优化,做到网站文件的动静分离的,提升用户访问体验,实现成本可控。


网站动静分离架构


3dab13e1f1fc6783d56800507a0fdb7e58f2b41e

在该架构中,OSS作为海量文件存储源,静态图片、视频文件、下载包、App更新包等均放在OSS,同时OSS作为CDN的源站,通过CDN加速分发,用户通过CDN节点就近获得文件。

该架构优势十分明显:

  • 降低Web服务器负载,静态文件访问负载全部通过CDN;
  • 存储费用最低,OSS的存储费用仅为ECS磁盘费用的50%;
  • 海量存储空间,无需考虑存储架构升级;
  • 流量费用低,相比直接通过OSS访问,除极少额外增加的回源流量外,主要流量使用CDN流量,单价最低只需0.26GB,远远低于OSS直接访问的外网流量单价。

具体操作步骤

第一步:对ECS上的网站程序进行整理,把动态程序部分和静态部分分不同的目录管理起来:

  • 建立Images目录,放置所有网站高清素材图片;
  • 建立Javascript目录,放置所有的JS脚本;
  • 建立Attachment目录,放置所有用户上传的图片和附件。

第二步:进入到OSS控制台,点击“CDN加速OSS”。


d733020ca2af677b84ca81cb6974487493464177

  • 选择新建Bucket。根据你ECS所在的区域选择Bucket所在区域,权限选择“公共读”,Bucket名称与ECS上新建的目录的名称对应,比如”acar-image-bucket“,选择下一步;
  • 输入“image.acar.com”作为您网站高清素材图片的加速域名后,点击下一步;
  • 选择默认的自动添加阿里云解析,点击完成。

第三步:点击“立即上传文件,体验加速效果”。

  • 把您在第一步中建立在ECS上的Images目录下的所有图片文件上传到这里(acar-image-bucket下),您可以使用OSS客户端工具更加方便灵活的完成图片的上传(OSS客户端工具Windwos版本);
  • 点击列表中已经上传文件的“获取地址”,您就能获取到该文件的CDN加速的访问地址,通常为“您输入的加速域名+'/'+'文件名'”的格式;
  • 逐一完成图片文件的上传。


96fed6465fc1690f921d105285e3540a4a7fa241

第四步:按照前三步的示意,把其他两个文件也通过“CDN加速OSS”的方式上传,分别建立“acar-js-bucket”和"acar-csimages-bucket"两个使用CDN加速的OSSbucket。

第五步:在原本ECS系统中,找到原本访问静态文件的代码,把访问URL修改为加速访问的地址。

大功告成,以后用户访问您的网站的静态文件就全部通过OSS+CDN的方式访问,不再占用您ECS的资源。

需要注意的是,如果您想把用户上传的文件自动同步到“acar-csimages-bucket”中,您可以参考OSS相关SDK和API的PutObjcet部分,实现代码级别自动上传。

注意事项

  • OSS是以Bucket为单位设置CDN加速,您最好为每个Bucket指定一个二级域名,方便管理;
  • 您可以通过OSS一键加速配置,静态文件的OSS和CDN的相关配置(CDN加速OSS点击这里);
  • 用户第一次访问静态资源,会先回源OSS获取资源再推送到CDN,需要大概5分钟左右的生效时间。您可以在更新资源后,通过刷新的方式,让CDN主动回源,让用户访问时不再等待。

相关资料

各区域的OSS访问地址

OSS客户端工具Windwos版本

客户端工具,支持文件夹上传,支持大文件自动分片多线程上传、支持批量删除、支持批量设置。

OSS客户端工具Mac版本

客户端工具,支持文件夹上传,支持大文件自动分片多线程上传、支持批量删除、支持批量设置。

CDN管理控制台

网页版本控制台,方便您进行管理设置和简单的文件管理。

 

本文中提到的产品
对象存储 CDN 云服务器 相关文章
  • 快开启阿里云对象存储 OSS 防误删新功能--版本控制,保护您珍贵的数据
  • 以“术”彰“道”,用匠心做技术—对话阿里云 MVP刘洪峰
  • MySQL进阶篇(02):索引体系划分,B-Tree结构说明
  • MySQL并行复制
  • 小时候我们都想当科学家,只有他做到了——对话阿里云 MVP朱祺
  • 日本超算历时9年重返全球超算榜首,ARM加持夺冠,英特尔今年多线溃败
  • 在采用K8S之前您必须了解的5件事情
  • 别在 Java 代码里乱打日志了,这才是正确的日志打印姿势!
  • IoT安全运营中心的产品架构及核心功能
  • 从Hadoop到ClickHouse,现代BI系统有哪些问题?如何解决?

路过

雷人

握手

鲜花

鸡蛋
2020-6-26 12:06| 发布者: xtyly| 查看: 120| 评论: 0



在线客服(工作时间:9:00-22:00)
400-600-6565

内容导航

微信客服

Copyright   ©2015-2019  云服务器社区  Powered by©Discuz!  技术支持:尊托网络     ( 湘ICP备15009499号-1 )