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. 超全面的.NET GDI+图形图像编程教程

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

  2. Linux的学习笔记

    Linux,1991年,系统安全,良好的可移植性,多用户,多任务,良好的兼容性,良好的用户界面, 主流的是RedHat或者CentOS, CentOS 设置的网关 192.168.2.2 Window ...

  3. Ubuntu手动设置DSL连接

    在安装完Ubuntu之后,发现图形界面的DSL连接不管用了,郁闷了好几天,想想移动每个月120个小时的流量岂不是白白浪费了.正当我想重返Windows系统的时候,却发现了手动设置连接DSL的好方法,感 ...

  4. WebAPI

    WebAPI的Host OWIN IIS WebAPI 的handler和Filter有啥区别? WebAPI  常用 Filters Exception Filter Timer Filter Lo ...

  5. appium+robotframework环境搭建

    appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...

  6. 项目自动化建构工具gradle 入门1——输出helloWorld

    先来一个简单的例子,4个步骤: 1.进入D:\work\gradle\java 目录  ,您电脑没这目录? 那辛苦自己一级一级建立起来吧 新建文件build.gradle,文件内容是: apply p ...

  7. Concurrency != Parallelism

    前段时间在公司给大家分享GO语言的一些特性,然后讲到了并发概念,大家表示很迷茫,然后分享过程中我拿来了Rob Pike大神的Slides <Concurrency is not Parallel ...

  8. 线程笔记:Future模式

    线程技术可以让我们的程序同时做多件事情,线程的工作模式有很多,常见的一种模式就是处理网站的并发,今天我来说说线程另一种很常见的模式,这个模式和前端里的ajax类似:浏览器一个主线程执行javascri ...

  9. 2000条你应知的WPF小姿势 基础篇<63-68 Triggers和WPF类逻辑结构>

    在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000ThingsYou Should Know About C# 和 2,00 ...

  10. CSharpGL(36)通用的非托管数组排序方法

    CSharpGL(36)通用的非托管数组排序方法 如果OpenGL要渲染半透明物体,一个方法是根据顶点到窗口的距离排序,按照从远到近的顺序依次渲染.所以本篇介绍对 UnmanagedArray< ...