body{
font: 16px/1.5em 微软雅黑,arial,verdana,helvetica,sans-serif;

}

       CDN(content delivery network 或 content distribution network)模式专注于通过全球分布式缓存架构为经常访问的文件减少网络访问时的延迟。目标是加快交付应用程序内容给用户。内容是任何可以存储在一个文件,如图像、 视频和文档。内容交付网络 (CDN) 是一种全球分布式缓存的服务。CDN 在世界各地的许多地方保存了应用程序文件的副本。当用户访问时,会选择离这些地方接近结点,内容不需要走长距离网络来传递,所以它能访问到达速度更快,以此来改善用户体验。CDN 节点设在世界各地希望尽可以能接近的用户。它有自己的 URL 负载平衡解析器,根据用户不同地理位置,无论用户在什么地方将用户引向最近的节点。

CDN所面临的挑战:

• 应用程序数据访问从不一定能接近它所在地理位置最近的数据中心

• 多个客户端访问相同的应用程序数据对象 (如 HTML、 JavaScript、 图像、 视频或其他文件)

• 应用程序有包括大流量下载、 流媒体视频或其他大流量级的内容

CDN 可以有效地减少节点负载以加快各种类型的内容。


CDN的机制:

一般来说,互联网更快速度地数据传输与源数据和客户端有密切关系。将源数据的缓存副本放置得与客户端比较接近,当用户需要访问数据时,从最接近的位置检索它将比从原始结点检索会更快儿些。这种做法通常称为分布式缓存,这也是CDN 的作用所在。具体地说,我们将关注是通过 HTTP 访问的文件。虽然所有用户看到相同的 URL文件,不同的用户将被路由到不同的 CDN 节点。这是 CDN的要点 : 将请求路由到就近的 CDN 节点,以提高响应速度。

使用CDN的前后的简单示意图:

CDN的限制

CDN 对于不经常访问的资源是无效的。通常只有在 CDN缓存过期前有至少两次访问的资源才算有效。

CDN 对于不断变化的资源不适用。

CDN 对于不想公开资源可能是一个糟糕的选择。

缓存可以不一致

CDN存储的资源复本指定过期时间,因而缓存图像文件可在僧一个小时,一个月有效的。任何资源缓存在CDN上,是潜在历史版本,因为在源数据与副本之间总是有一个更新与传输的延迟。这不是一个问题,但是需要考虑因素是缓存有效时间需要多长。Tips:缓存不命中就是低效的。

现实案例

淘宝在2010年的数据记录,淘宝CDN服务的图片规模包括大约250T容量的原图和大约250T容量的缩略图总和;约286亿左右的图片数,平均图片大小是17.45K;8K以下图片占图片数总量的61%,占存储容量的11%。CDN的部署规模达到22个节点,部署在网民相当密集的中心城市,每个节点目前处理能力在10G或以上,CDN部署的总处理能力已到220G以上,目前承载淘宝流量高峰时119G。淘宝自主研发CDN系统架构如下图:

随着CDN的兴起,它的介值链也出来的,如下图:

商业的CDN  jet-stream, 蓝讯网宿 
免费的CDN:CloudFlareIncapsulaOpenCDN

希望对您软件架构有帮助。您可能感兴趣的文章:

忙信号模式介绍

Database数据库切片模式

集中队列的模式

 

作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog

CDN模式介绍的更多相关文章

  1. CDN技术介绍

    CDN技术介绍 一.CDN概述 1.1 CDN定义 CDN即Content Delivery Network (内容分发网络).CDN是建立在现有IP网络基础结构之上的一种增值网络.是在应用层部署的一 ...

  2. IView入门练习~CDN模式全局加载JS

    关于 iView iView 是一套基于 Vue.js 的开源 UI 组件库,主要服务于 PC 界面的中后台产品. 特性 高质量.功能丰富 友好的 API ,自由灵活地使用空间 细致.漂亮的 UI 事 ...

  3. 企业IT管理员IE11升级指南【4】—— IE企业模式介绍

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  4. Spark on YARN两种运行模式介绍

    本文出自:Spark on YARN两种运行模式介绍http://www.aboutyun.com/thread-12294-1-1.html(出处: about云开发)   问题导读 1.Spark ...

  5. jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门

    一.mvc模式介绍 下图是常用的mvc分层模式: 项目中的包命名规则,一般如下: com.amos.domain 封装JavaBean,一般我喜欢用model命名这个包com.amos.dao 封装d ...

  6. android MVP模式介绍与实战

    android MVP模式介绍与实战 描述 MVP模式是什么?MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数 ...

  7. 国内静态文件CDN服务介绍 国内js公共库

    国内静态文件CDN服务介绍 新浪SAE  介绍页 文件页 百度云 介绍页 七牛云存储介绍页 优势,可以提交没有的库,支持https,但证书不可信. 又拍云 介绍页 建议使用阿里云OSS自己上传所需文件 ...

  8. weblogic开发模式与生产模式介绍

    weblogic开发模式与生产模式介绍 开发模式:该模式启用自动部署 生产模式:该模式关闭自动部署 weblogic server 三种部署方法:自动部署.控制台部署.命令部署 自动部署:当其处于启用 ...

  9. VMware网络模式介绍(下篇)

    VMware网络模式介绍 VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式). Bridged 模式: 在桥接模式下,VMwa ...

随机推荐

  1. 创建ABPboilerplate模版项目

    本文是根据角落的白板报的<通过ABPboilerplate模版创建项目>一文的学习总结,感谢原文作者角落的白板报. 1 准备 开发环境: Visual Studio 2015 update ...

  2. 移动BPM解决方案分享

    畅通开放  无边界的渠道 效率倍增  更高效的处理方式 即时共享  更强大的决策能力 各种终端应用 帮您实现:新任务通知.任务预警.催办.任务审批.任何数据汇总提醒消息通知...... 短信 客户端: ...

  3. Android Weekly Notes Issue #236

    Android Weekly Issue #236 December 18th, 2016 Android Weekly Issue #236 本期内容包括: Google的物联网平台Android ...

  4. 超全面的.NET GDI+图形图像编程教程

    本篇主题内容是.NET GDI+图形图像编程系列的教程,不要被这个滚动条吓到,为了查找方便,我没有分开写,上面加了目录了,而且很多都是源码和图片~ (*^_^*) 本人也为了学习深刻,另一方面也是为了 ...

  5. hbase集群安装与部署

    1.相关环境 centos7 hadoop2.6.5 zookeeper3.4.9 jdk1.8 hbase1.2.4 本篇文章仅涉及hbase集群的搭建,关于hadoop与zookeeper的相关部 ...

  6. 《徐徐道来话Java》(1):泛型的基本概念

    泛型是一种编程范式(Programming Paradigm),是为了效率和重用性产生的.由Alexander Stepanov(C++标准库主要设计师)和David Musser(伦斯勒理工学院CS ...

  7. ENode简介与各种教学视频资源汇总(要进群这篇文章必看)

    ENode是什么 ENode是一个.NET平台开源的应用开发框架,为开发人员提供了一套完整的基于DDD+CQRS+ES+(in-memory)+EDA架构风格的解决方案. ENode的特色是什么 解决 ...

  8. useful Ansible commands

    This article includes some useful Ansible commands. I will try to write blogs by English. You may wa ...

  9. 包含LOB_Data列的表删除大量数据后表及数据库文件的收缩

    最近有一张表(内含varchar(max)字段),占用空间达到240G,删除历史数据后几十万条后,空间并未得到释放. 然后用DBCC CLEANTABLE(0,tb_name,100)来释放删除记录后 ...

  10. iOS App引导页功能实现

    一.写作原因 以前都没有想着来写点东西,今天遇到件事情让我决定每次还是要做记录.因为以前自己可以轻松的完成pod spec的配置,但是今天在做的时候还是忘了遇到了很多坑.pod spec配置遇到的坑不 ...