写点什么

CDN 搭配 OSS 最佳实践 ——搭建动静态分离的应用架构

  • 2019-10-21
  • 本文字数:1784 字

    阅读完需:约 6 分钟

CDN搭配OSS最佳实践 ——搭建动静态分离的应用架构

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

一、传统架构及痛点

传统的网站产品应用架构,所有资源部署在应用服务器本地存储或挂载的数据存储区,对于动静态资源不作分离, 产品架构如下图所示:



该架构存在诸多问题:


  • 系统性能会随着系统访问量的增长而受到限制甚至遭遇瓶颈;

  • 静态资源访问量巨大时,占用出口带宽,影响动态请求响应;

  • 用户请求分散时,回源距离长,影响用户体验(单纯使用 CDN 仍然需要回源拉取)。

二、CDN+OSS 架构方案:

该架构充分利用到“OSS 带宽/流量成本低、独立响应、存储空间无上限”的特点,结合 CDN 分发网络,实现资源动静分离,支持海量用户访问。


优化后产品架构如下图所示:


1、适用场景

  • 静态文件存储量大,文件数量多,文件体积较大,服务器存储空间不够;

  • 静态文件访问量大,占用带宽负载或服务器负载,I/O 问题导致用户访问卡顿;

  • 用户分布较为分散,分布在全国各地、各运营商;

  • 对文件下载速度要求较高,且并发下载量高。

2、架构描述

涉及产品介绍:


  • 对象存储服务(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 架构对网站进行优化,实现动静分离的产品架构,提升用户访问体验,同时成本可控。


解决方案及步骤如下:


1、对网站应用架构进行整理,区分动态程序部分和静态部分到不同的目录进行管理,建立 image、video、js 目录,分别放置所有网站图片素材;


2、京东云控制台进入 OSS 产品,新建一个 Bucket。根据云主机所在的区域选择 bucket 所在区域,权限选择“公共读”,bucket 名称与云主机新建的目录的名称对应,如“abc-image-bucket”、“abc-video-bucket”和“abc-js-bucket”;


3、分别绑定域名 image. abc. com 、video. abc. com、js.abc.com 并进行 CDN 加速。


4、上传文件:提供控制台上传和表单上传两种方式。


  • 控制台上传:可以通过对象存储控制台上传小于 1GB 的文件。如您要上传的-文件大于 1GB,请通过对象存储 API 或 SDK 的方式上传。

  • 表单上传:表单上传指用户使用 OSS API 中的 Post Object 请求来完成文件的上传,非常适合嵌入在 HTML 网页中来上传文件;


5、修改 DNS 调度,增加 CNAME 解析,将原本访问源站的请求,调度到 CDN 加速域名,以后用户访问您的网站的静态文件就全部通过 OSS+CDN 的方式访问,不再占用您云主机的资源。

四、典型应用场景

  • 新闻门户网站

  • 应用分发市场

  • 在线音乐、在线 K 歌

  • 视频、短视频(UGC/PGC)

  • 电影院线

  • 在线教育


2019-10-21 18:341621

评论

发布
暂无评论
发现更多内容

数据如何驱动AI大模型的竞争优势

百度开发者中心

人工智能 AI 大模型

请重视你的简历

老张

面试 简历优化 简历

小程序怎样成为平台““破壁人”?全网引流的3种姿势!

Geek_2305a8

新特性速览!Sermant重磅更新,1.3.0 release版本发布

华为云开源

微服务治理 sermant 字节码增强框架

软件测试开发/全日制/测试管理丨测试左移和测试右移

测试人

软件测试 测试开发

VRRP协议是什么?详解它的工作原理

百度搜索:蓝易云

云计算 Linux 运维 云服务器 VRRP

探索大模型在端侧应用的新形态

百度开发者中心

人工智能 图像识别 大模型

快手商品详情数据接口(ks.item_get)丨快手API接口

tbapi

快手商品详情数据接口 快手API接口 快手商品数据接口 快手数据采集

GraphPad Prism 10 for mac激活版下载

影影绰绰一往直前

服务器里面打开浏览器访问不了会是什么原因

德迅云安全杨德俊

2023 CSIG青年科学家会议丨多模态大模型时代下的文档图像处理

热爱编程的小白白

Capture One Pro 22 for Mac(RAW图像处理软件) v15.4.2.12永久激活版

mac

苹果mac Windows软件 Capture One Pro 22 RAW文件转换器

SQLPro Studio for Mac 2023.55激活版下载

影影绰绰一往直前

AI时代我们的IT团队架构应该如何应变

Onegun

人工智能 AI 团队组织

助力 AI 技术共享,蚂蚁开源又一核心技术“因果学习系统 OpenASCE”

可信AI进展

人工智能 机器学习 开源

深入理解 Docker 核心原理:Namespace、Cgroups 和 Rootfs

EquatorCoco

Docker 容器化 项目开发

通过小程序容器轻松打造自有App小程序生态

Geek_2305a8

Hackathon | Mint Blockchain 启动全球 NIP 创意提案黑客松活动!

NFT Research

blockchain 黑客松 NFT\

数据资产入表“倒计时”,企业该如何抓住红利?

用友BIP

数据资产

探索跨语言、跨模态、跨任务的大模型驱动应用生态繁荣

百度开发者中心

人工智能 大模型

软件测试/测试开发/岗位内推丨字节跳动岗位开放

测试人

软件测试

身为程序员,你很有必要了解一下提效工具“JNPF”

互联网工科生

程序员 软件开发 低代码 JNPF

亿级流量摩擦出来的 ES 稳定性之道

常清静

方法论 ES 建模 Elastic Search ES优化

小度推出小度学习机K16:内容、AI功能、软硬件配置全面升级

新消费日报

小程序能否成为移动应用实现动态更新与敏捷迭代的突破口?

Geek_2305a8

简单聊聊数据库可以做什么,有什么用?

行云管家

数据库 云计算 大数据

2024提升计划|优秀程序员的10大共性特征

SoFlu软件机器人

程序员 软件开发 代码 测试 单元测试 构架

揭秘加密货币周期:如何通过顶级代币指标洞察市场变化

Footprint Analytics

区块链 加密货币

好用的鼠标键盘记录工具:Mouse And Keyboard Recorder激活中文

胖墩儿不胖y

Mac软件 鼠标管理工具 Mac软件鼠标辅助

【Spring技术专题】「实战开发系列」保姆级教你SpringBoot整合Mybatis框架实现多数据源的静态数据源和动态数据源配置落地

洛神灬殇

spring mybatis springboot 数据源切换 2024年第六篇文章

CDN搭配OSS最佳实践 ——搭建动静态分离的应用架构_架构_常亮_InfoQ精选文章