传统的网站产品应用架构,全部资源部署在应用服务器本地存储或挂载的数据存储区,对于动静态资源不做分离, 产品架构以下图所示:web
该架构存在诸多问题:安全
● 系统性能会随着系统访问量的增加而受到限制甚至遭遇瓶颈;服务器
● 静态资源访问量巨大时,占用出口带宽,影响动态请求响应;网络
● 用户请求分散时,回源距离长,影响用户体验(单纯使用CDN仍然须要回源拉取)。架构
该架构充分利用到“OSS带宽/流量成本低、独立响应、存储空间无上限”的特色,结合CDN分发网络,实现资源动静分离,支持海量用户访问。并发
优化后产品架构以下图所示:分布式
● 静态文件存储量大,文件数量多,文件体积较大,服务器存储空间不够;ide
● 静态文件访问量大,占用带宽负载或服务器负载,I/O问题致使用户访问卡顿;性能
● 用户分布较为分散,分布在全国各地、各运营商;优化
● 对文件下载速度要求较高,且并发下载量高。
涉及产品介绍:
对象存储服务(OSS:Object Storage Service)是京东云自主研发的大规模分布式对象存储服务,面向企业和我的开发者提供高可用、低成本、强安全的云端存储服务。您能够实现对数据的统一管理,知足各种存储需求。支持标准的 RESTfulAPI 接口,您只需按实际用量付费,无最低使用限制。支持流式写入和文件写入两种方式。面对冷数据存储的场景,对于那些访问频率比较低,同时对访问速度要求不高的数据,能够将数据以低频访问的方式进行存储,为您保存和备份资料提供了一个海量低价的空间。
京东云CDN(Content Delivery Network),基于京东优质网络基础设施和智能云计算技术,向用户提供低成本、高性能、可扩展的互联网内容分发服务。利用普遍的节点覆盖和先进的云调度、云存储技术,将海量内容更快、更可靠地投递给互联网终端用户,下降网站运营成本,提高用户互联网应用体验。京东云 CDN 的前身是服务于京东商城的自建 CDN 平台,历经多年 618 和 11.11等大促业务活动考验,京东云 600+ 节点普遍覆盖于全国各区域和运营商,精选全网优质基础设施,边缘节点覆盖全网、全地域,真正实现就近接流、就近推流。
将京东云的对象存储和CDN服务搭配使用,使用京东自建的全网CDN加速节点,为您提供上传下载双向加速,实现全网覆盖、快速高效的内容分发。
架构优点:
下降Web/应用服务器负载,静态资源响应压力转移到CDN,避免性能影响;
费用最低,OSS的存储费用远低于云主机磁盘费用;
超大容量存储空间,大带宽上传通道,无需担忧存储空间上限;
下降流量费用,正常访问热度状况下,相比直接访问OSS,减小95%回源流量。
以一个常见的Web站点为例。www.abc.com是一个新闻门户网站,有500GB的新闻图片、新闻视频、JS文件等静态内容,使用了LAMP架构,目前站点全套架构部署在京东云上。随着用户业务发展,访问量的不断增加,很多用户反映,访问网站的速度愈来愈慢,图片、视频加载慢,卡顿率高,网站响应慢。客户工程师发现用户上传的图片愈来愈多,业务高峰期,带宽峰值很高,服务器I/O常常被占满。
对于以上案例咱们能够利用以上介绍的OSS+CDN架构对网站进行优化,实现动静分离的产品架构,提高用户访问体验,同时成本可控。
解决方案及步骤以下:
一、对网站应用架构进行整理,区分动态程序部分和静态部分到不一样的目录进行管理,创建image、video、js目录,分别放置全部网站图片素材;
二、京东云控制台进入OSS产品,新建一个Bucket。根据云主机所在的区域选择bucket所在区域,权限选择“公共读”,bucket名称与云主机新建的目录的名称对应,如“abc-image-bucket”、“abc-video-bucket”和“abc-js-bucket”;
三、分别绑定域名image.abc.com、video.abc.com、js.abc.com并进行CDN加速。
四、上传文件:提供控制台上传和表单上传两种方式。
● 控制台上传:能够经过对象存储控制台上传小于1GB 的文件。如您要上传的文件大于1GB,请经过对象存储 API或SDK的方式上传。
● 表单上传:表单上传指用户使用OSS API中的Post Object请求来完成文件的上传,很是适合嵌入在HTML网页中来上传文件;
五、修改DNS调度,增长CNAME解析,将本来访问源站的请求,调度到CDN加速域名,之后用户访问您的网站的静态文件就所有经过OSS+CDN的方式访问,再也不占用您云主机的资源。
● 新闻门户网站
● 应用分发市场
● 在线音乐、在线K歌
● 视频、短视频(UGC/PGC)
● 电影院线
● 在线教育
欢迎点击“连接”了解更多精彩内容