简介: 用户直接访问OSS资源,访问速度会受到OSS的下行带宽以及Bucket地域的限制。如果通过CDN来访问OSS资源,带宽上限更高,并且可以将OSS的资源缓存至就近的CDN节点,通过CDN节点进行分发,访问速度更快,且费用更低。如果采用动静分离的网站架构,就能够解决海量用户访问的性能瓶颈问题。

阿里云内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。阿里云CDN分担源站压力,避免网络拥塞,确保在不同区域、不同场景下加速网站内容的分发,提高资源访问速度。阿里云CDN将源站资源缓存至阿里云遍布全球的加速节点上,当终端用户请求访问和获取该资源时,无需回源,系统自动调用离终端用户最近的CDN节点上已缓存的资源。

阿里云对象存储(Object Storage Service,简称OSS)是阿里云提供的海量、安全、低成本、高可靠的云存储服务,其数据设计持久性不低于99.9999999999%(12个9),服务可用性(或业务连续性)不低于99.995%。企业客户通过阿里云提供的API、SDK接口或者OSS迁移工具轻松地将海量数据移入或移出阿里云OSS,同时可选择标准存储(Standard)作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问存储(Infrequent Access)、归档存储(Archive)作为不经常访问数据的存储方式。

为什么要使用CDN+OSS架构?

传统网站架构下,动态资源和静态资源不分离,随着访问量的增长,性能会成为瓶颈,如下图所示:

用户直接访问OSS资源,访问速度会受到OSS的下行带宽以及Bucket地域的限制。如果通过CDN来访问OSS资源,带宽上限更高,并且可以将OSS的资源缓存至就近的CDN节点,通过CDN节点进行分发,访问速度更快,且费用更低。如果采用动静分离的网站架构,就能够解决海量用户访问的性能瓶颈问题,如下图所示:

该架构的要点如下:

将动态资源如Web程序、数据库等存放在云服务器ECS上。
将静态资源如图片、音视频、静态脚本等存放在对象存储OSS上。
将OSS作为CDN的源站,通过CDN加速分发,使用户通过CDN节点就近获得文件。

CDN+OSS架构有什么优势?

降低了Web服务器负载——OSS的资源缓存至就近的CDN节点,通过CDN节点进行分发,缩短了网络传输距离,加快了用户的调用速度。
支持海量存储——OSS的存储空间弹性无限扩展,您无需考虑存储架构升级。
降低了存储费用和流量费用——使用该架构会产生OSS的存储费用、CDN的下行流量费用,以及极少量的回源流量费用。

CDN+OSS的应用场景

在线教育

播放流畅无卡顿:支撑高峰期海量并发,稳定高效的性能:95%+命中率,毫秒级响应时间
图片/视频处理:OSS丰富的图片处理与媒体处理的能力,可以帮助客户降低开发成本。OSS支持在线教育客户直接通过RTMP视频推流方式将视频流推到OSS,无需额外的文件类型转换工具。
安全性:解决盗链危害,保障课程安全
成本优化:阿里云CDN回源OSS按照“回源流量”收费,较常规的下行流量费最高便宜70%。

网站/APP/小程序

访问效率提升:CDN通过全球2800+节点及智能调度系统,让用户可以就近访问海量静态资源。
无缝迁移:提供无缝迁移工具让业务快速上云,从而免除了高昂的迁移成本和接入成本
丰富图片处理能力:OSS提供图片裁剪、旋转、水印、视频截帧等,客户无需额外的开发成本。
成本降低:下行流量费用远低于享带宽费用,有效解决源站带宽压力

行业音视频

CDN保证性能:95%+命中率,毫秒级响应时间,结合弹性伸缩服务,及时调整服务器带宽,应对突发访问流量
OSS可靠性:强大的技术保障提供11个9的数据写入可靠性保障,与阿里云CDN和视频转码无缝结合
降本增效:下行流量费用远低于独享带宽费用,有效解决源站带宽压力

游戏/APP下载

稳定高效:支持各类文件的下载、分发及在线点播加速业务(如MP4、FLV 视频或者平均单个文件大小在20M以上文件),主要用于视音频点播、大文件下载时
成本降低:搭配OSS接入CDN加速,节约近2/3回源带宽成本
一键加速:针对存储在OSS上的游戏的动态业务加速,使用OSS传输加速功能,只需修改OSS域名,即可一键加速

如何进一步提升网站加速效率?

阿里云还推出全站加速DCDN产品,融合了动态加速和静态加速的CDN产品,可以一站式应对页面动静态资源混杂、跨运营商、网络不稳定、单线源站、突发流量、网络拥塞等一系列因素,优化和解决访问响应慢、丢包、服务不稳定等问题,从而提升整个网站应用的性能和用户体验。

全站加速的核心原理主要分了两大块,一个是节点层,一个是一个控制层,节点层可以类比在SDWAN中的数据面,而路由决策则是控制面,其中整个传输网络的建立是通过探测和路由计算来完成的。边缘节点则保证了用户最后一公里用可以最快速的接入,优化建联和握手的时间。

当请求进入网络中之后,边缘节点跟内部的整张大网、源站之间,通过探测去实时的发现整个网络当中最优的链路,基于这个探测数据结果,通过路由算法和基础数据的分析和决策,最终会在整个网络里面去高效迭代出最优的传输链路,当链路遭遇流量汇聚的情况,链路选择也会实现流量和质量等多重因素之下的平衡。

原文链接
本文为阿里云原创内容,未经允许不得转载。

 

最佳实践:使用阿里云CDN加速OSS访问的更多相关文章

  1. 最佳实践:阿里云VPC、ECS支持IPv6啦!

    12月6日,阿里云宣布为企业提供全栈IPv6解决方案. 阿里云专有网络VPC.云服务器ECS,作为阿里云的核心产品,也于2018年11月底上线双栈VPC.双栈ECS,目前正在对外公测中. 那么如何在阿 ...

  2. Discuz x3.2利用阿里云cdn处理https访问亲测教程

    第一步配置cdn和https 1.首先去阿里云.腾讯云.七牛云等申请免费https证书 2.虚拟主机是不能直接支持https的,需要cdn处理后才可以,并且端口是80 3.开启cdn加速处理,(买一个 ...

  3. 阿里云对象存储OSS及CDN加速配置

    目录 十大云存储服务商 1. 登陆阿里云官网,开通对象存储服务 OSS 2. 创建存储空间 3. 绑定自定义域名 4. 配置阿里云CDN加速 5. 购买阿里云免费SSL证书 6. 阿里云CDN配置HT ...

  4. 阿里云CDN+OSS完成图片加速

    我们使用React Native开发APP,在列表中显示图片时,列表框经常出现长时间的空白.经过稍微研究和参考其他人的经验,我们知道React Native的ListView以及后来改进版的FlatL ...

  5. 阿里云 CDN 业务基于边缘容器的云原生转型实践

    导读:本文基于边缘容器的阿里云 CDN 云原生实践, 涵盖了边缘容器的背景和趋势,边缘托管集群 ACK Managed Edge K8s(文中简称“Edge@ACK”) 的能力.架构,以及基于边缘容器 ...

  6. 阿里云-CDN

    1.什么是CDN 内容分发网络,意思是将内容(静态资源,如文件等)缓存到全球加速节点,用户请求这些内容时,请求将调度到最近的CDN节点,加快了访问速度. 2.CDN原理 1.用户(北京)向www.a. ...

  7. 突破!阿里云CDN实现毫秒级全网刷新

    通常在某网站使用了CDN节点来实现内容分发加速后,当源站内容更新的时候,CDN刷新系统会通过提交刷新请求将CDN节点上的指定缓存内容强制过期.当用户访问的时候,CDN节点将回源获取最新内容返回给用户, ...

  8. 什么是阿里云CDN

    阿里云内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络.阿里云CDN分担源站压力,避免网络拥塞, ...

  9. 阿里云对象存储OSS

    阿里云的产品种类繁多,今天让我们一起来了解下对象存储(Object Storage Service,简称OSS)吧! 什么是对象存储呢? 简单来说,对象存储OSS是阿里云提供的海量.安全和高可靠的云存 ...

  10. 最佳实践 | 数据库迁云解决方案选型 & 流程全解析

    Oracle是非常强大的综合数据库,但同时也存在一些劣势,比如由于采用集中式架构,无法很好地实现横向扩展,并且其稳定性依赖于硬件.出于架构升级.降低成本和云化等需求,越来越多的企业需要“去Oracle ...

随机推荐

  1. TornadoFx中的css美化

    原文地址:TornadoFx中的css美化 - Stars-One的杂货小窝 TornadoFx中使用类重新对css进行了封装,所以可以用代码的形式来书写样式 说明 除了Text,其他的若是要修改文字 ...

  2. 前端 nodejs 命令行自动调用编译 inno setup 的.iss文件

    项目中需要把前端代码用 electronjs 打包成 windows 安装包 使用的是开源的 inno setup 制作安装包 官网 虽然 ElectronJS 也有 electron-builder ...

  3. JS(入门)

    一. 编程语言 1.1 编程 编程:就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程.计算机程序:就是计算机所执行的一系列的指令集合,而程序全部都是用我们所掌握的语言 ...

  4. 01.Android崩溃Crash封装库

    目录介绍 01.该库具有的功能 02.该库优势分析 03.该库如何使用 04.降低非必要crash 05.异常恢复原理 06.后续的需求说明 07.异常栈轨迹原理 08.部分问题反馈 09.其他内容说 ...

  5. C++ pieces

    standard lib fmax double fmax (double x, double y); float fmax (float x, float y); long double fmax ...

  6. 【Spring注解驱动开发】你敢信?面试官竟然让我现场搭建一个AOP测试环境!

    写在前面 今天是9月1号,金九银十的跳槽黄金期已拉开序幕,相信很多小伙伴也在摩拳擦掌,想换一个新的工作环境.然而,由于今年疫情的影响,很多企业对于招聘的要求是越来越严格.之前,很多不被问及的知识点,最 ...

  7. 什么是GRAY色彩空间

    GRAY色彩空间通常指的是灰度图像,灰度图像是一种每个像素都是从黑到白,被处理为256个灰度级别的单色图像.这256个灰度级别分别用区间[0,255]中的数值表示,其中,"0"表示 ...

  8. SSH和SFTP是否相同

    SSH和SFTP是否相同?SSH和SFTP是经典的对.在确保通信安全方面,它们交织在一起,尽管它们具有类似的功能,但它们并不是一回事.那么,它们之间有什么区别?请仔细阅读,找出答案. 什么是SSH? ...

  9. C++中结构体的各种用法,详细版

    C++中的结构体是一种用户自定义的数据类型,可以存储不同类型的数据成员.以下是一些结构体的常见用法: 1. 定义结构体类型 结构体类型的定义可以放在函数内部或外部,例如: ``` struct Per ...

  10. 学习Python前要了解的tips

    学习Python前要了解的tips 对后续的学习来说很重要,否则后续会出现一些奇奇怪怪的问题,而且很难找到解决方法.嘿嘿,就不要问我怎么知道的了吧,好多都是我踩过的坑 卸载电脑内软件 之前我一直用电脑 ...