CDN架构的设计目标是通过复制系统资源(即Web服务器)的方式来获得高性能和高扩展性,为了能确保在海量内容下可以稳定提供高性能的服务。系统资源的复制可以在本地和地理两个尺度上进行。如果是本地复制则响应用户请求的各台服务器紧密地连接在同一个局域网内。这些服务器一般是共享同一条上行连接,这条上行连接将本地系统连接到互联网。这样的本地系统一般称为集群或簇(cluster)。经过系统资源的复制若干台服务器组织成一个集群可以提供更大的计算能力,它们之间能够以快速有效的方式彼此交互。复制还可以提高容错能力,因为一个出错的节点能够很容易地被旁路。
 
基于局域网的本地系统有很多优点。不过当网站访问量很大时本地系统的可扩展性在创建和分发资源方面面临一些问题。影响本地复制的第一个问题是所谓的“第一公里”(first mile)问题。第一公里是指服务器集群和互联网之间的网络连接,它是影响端到端性能的系统瓶颈。不仅如此它还是一个潜在的失效单点。无论集群的计算能力如何,集群内通信不畅、外部某个路由器的失效和拒绝服务(DoS)攻击都可能会造成集群无法提供服务。当需要更好的性能和可扩展性时可以在地理这个尺度上复制网络设施中的一些资源会有所帮助。
 
在一个典型的CDN中,服务器分为两类:边缘服务器(edge server)和核心服务器(core server)。边缘服务器是源服务器(核心服务器)在“互联网边缘”的副本,主要负责与使用网络服务的客户端实现交互。边缘服务器是指那些与客户端距离最近的服务器,典型的例子是多ISP的网络接入点(Points of Presence,POP)。基于DNS的重定向方法使客户端的请求从源服务器转发到边缘服务器。在这个方法中DNS服务器需事先做某些调整,以便当其收到对主机名的查询时,可以将其解析为合适的边缘服务器的IP地址。最佳边缘服务器的算法需要考虑地理意义上的距离、网络意义上的距离、网络连接情况和边缘服务器的状态等因素。
 
核心服务器是一个逻辑实体,负责处理网络设施的管理、服务请求分配的协调以及维护请求列表。核心服务器可以是一台单独的高性能服务器,也可以是一个多集群(multi-cluster)。多集群中的各个集群之间相互协作,对外却表现为一台虚拟的高可用性和高计算能力的计算机。
 
网防cdn专业提供国内外高防cdn加速服务
 
本文链接:http://www.f8i.com/news/347.html

简化的CDN架构分析的更多相关文章

  1. 基于React的PC网站前端架构分析

    代码地址如下:http://www.demodashi.com/demo/12252.html 本文适合对象 有过一定开发经验的初级前端工程师: 有过完整项目的开发经验,不论大小: 对node有所了解 ...

  2. 分布式MySQL数据库TDSQL架构分析

    摘要:腾讯计费平台部为了解决基于内存的NoSQL解决方式HOLD平台在应对多种业务接入时的不足.结合团队在MySQL领域多年应用和优化经验,终于在MySQL存储引擎基础上,打造一套分布式SQL系统TD ...

  3. [转帖]InfiniBand技术和协议架构分析

    InfiniBand技术和协议架构分析 2017年06月06日 20:54:16 Hardy晗狄 阅读数:15207 标签: 云计算存储Infiniband 更多 个人分类: 存储云计算   版权声明 ...

  4. 【转载】Instagram架构分析笔记

    原文地址:http://chengxu.org/p/401.html Instagram 架构分析笔记 全部 技术博客 Instagram团队上个月才迎来第 7 名员工,是的,7个人的团队.作为 iP ...

  5. 万字长文:ELK(V7)部署与架构分析

    ELK(7版本)部署与架构分析 1.ELK的背景介绍与应用场景 在项目应用运行的过程中,往往会产生大量的日志,我们往往需要根据日志来定位分析我们的服务器项目运行情况与BUG产生位置.一般情况下直接在日 ...

  6. tomcat架构分析 (Session管理)

    Session管理是JavaEE容器比较重要的一部分,在app中也经常会用到.在开发app时,我们只是获取一个session,然后向session中存取数据,然后再销毁session.那么如何产生se ...

  7. Magento架构分析,Magento MVC 设计分析

    Magento架构分析,Magento MVC 设计分析 分类:Magento 标签:Magento MVC.Magento架构 669人浏览 Magento 采用类似 JAVA的架构,其扩展与稳定性 ...

  8. Flickr 网站架构分析

    Flickr 网站架构分析 Flickr.com 是网上最受欢迎的照片共享网站之一,还记得那位给Windows Vista拍摄壁纸的Hamad Darwish吗?他就是将照片上传到Flickr,后而被 ...

  9. Android架构分析之Android消息处理机制(二)

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android版本号:4.4.2 在上一篇文章中我们看了一个使用Handler处理Message消息的样例,本文我们 ...

随机推荐

  1. promise使用方法

    代码报错会走向失败时的回调 let p = new Promise((resolve, reject) => { throw new Error("我错了"); //会失败 ...

  2. 如何为form表单的button设置submit事件

    若button按钮没有type属性,浏览器默认按照type=submit逻辑处理,这样若将没有type的button放在form表单中,点击按钮就会执行form表单提交

  3. 【转】高精度GPS测量中框架基准的统一

    一.地面基准点的坐标基准转换 一般情况下,我们可以从IERS或IGS等机构获取最新的站坐标和速度场,这些站坐标和速度场是在某一特定基准框架和历元下的坐标值,若要提供高精度GPS网的分析使用,还需要作框 ...

  4. Struts2中实现随机验证码

    一.创建RandomNum类 1: import java.awt.Color; 2: import java.awt.Font; 3: import java.awt.Graphics; 4: im ...

  5. event跨进程通信

    event天生的弱势,只有mutex可以感知丢失,就是将另一个进程关闭了,event无法感知. event1: #include <stdio.h> #include <stdlib ...

  6. spring boot 中实现兼容不同的请求类型的方法。

    比如一个接口,既想实现请求参数是application/json,又想实现form提交,改怎么做呢?用postman去测试,发现不可能做到两全其美. 我有一个方法,就是不用requestbody,也可 ...

  7. JavaScript基本语法 -- 条件语句 & 循环语句

    条件语句 条件语句(Conditional statement)是JavaScript里面的基本结构之一,程序根据表达式的真假决定执行或者跳过某个分支,于是,条件语句有时候也可以称为"分支语 ...

  8. Go笔记-垃圾回收集和SetFinalizer

    [垃圾回收]     1- Go的开发者也不用写代码来释放程序中不再使用的变量和结构占用内存,Go中有独立的进程,垃圾回收器(GC),处理这些事情.它会搜索不再使用的变量然后释放它们.     2- ...

  9. BZOJ 3168: [Heoi2013]钙铁锌硒维生素 [线性基 Hungary 矩阵求逆]

    3168: [Heoi2013]钙铁锌硒维生素 题意:给一个线性无关组A,再给一个B,要为A中每个向量在B中选一个可以代替的向量,替换后仍然线性无关.判断可行和求字典序最小的解 PoPoQQQ orz ...

  10. 深度学习(一。深度学习概览)(mooc视频https://www.icourse163.org/learn/MSRA-1002255002?tid=1002370003#/learn/content?type=detail&id=1003271123)

    一. 深度学习概览 1.为什么resnet应用在图像识别 因为传统神经网络精度有限,而只是增加层数无法提高精度.而resnet可以改变这个问题. 2.Microsoft SwitchBoard 在语音 ...