简化的CDN架构分析

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架构分析的更多相关文章
- 基于React的PC网站前端架构分析
代码地址如下:http://www.demodashi.com/demo/12252.html 本文适合对象 有过一定开发经验的初级前端工程师: 有过完整项目的开发经验,不论大小: 对node有所了解 ...
- 分布式MySQL数据库TDSQL架构分析
摘要:腾讯计费平台部为了解决基于内存的NoSQL解决方式HOLD平台在应对多种业务接入时的不足.结合团队在MySQL领域多年应用和优化经验,终于在MySQL存储引擎基础上,打造一套分布式SQL系统TD ...
- [转帖]InfiniBand技术和协议架构分析
InfiniBand技术和协议架构分析 2017年06月06日 20:54:16 Hardy晗狄 阅读数:15207 标签: 云计算存储Infiniband 更多 个人分类: 存储云计算 版权声明 ...
- 【转载】Instagram架构分析笔记
原文地址:http://chengxu.org/p/401.html Instagram 架构分析笔记 全部 技术博客 Instagram团队上个月才迎来第 7 名员工,是的,7个人的团队.作为 iP ...
- 万字长文:ELK(V7)部署与架构分析
ELK(7版本)部署与架构分析 1.ELK的背景介绍与应用场景 在项目应用运行的过程中,往往会产生大量的日志,我们往往需要根据日志来定位分析我们的服务器项目运行情况与BUG产生位置.一般情况下直接在日 ...
- tomcat架构分析 (Session管理)
Session管理是JavaEE容器比较重要的一部分,在app中也经常会用到.在开发app时,我们只是获取一个session,然后向session中存取数据,然后再销毁session.那么如何产生se ...
- Magento架构分析,Magento MVC 设计分析
Magento架构分析,Magento MVC 设计分析 分类:Magento 标签:Magento MVC.Magento架构 669人浏览 Magento 采用类似 JAVA的架构,其扩展与稳定性 ...
- Flickr 网站架构分析
Flickr 网站架构分析 Flickr.com 是网上最受欢迎的照片共享网站之一,还记得那位给Windows Vista拍摄壁纸的Hamad Darwish吗?他就是将照片上传到Flickr,后而被 ...
- Android架构分析之Android消息处理机制(二)
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android版本号:4.4.2 在上一篇文章中我们看了一个使用Handler处理Message消息的样例,本文我们 ...
随机推荐
- 优秀的基于VUE移动端UI框架合集
1. vonic 一个基于 vue.js 和 ionic 样式的 UI 框架,用于快速构建移动端单页应用,很简约,是我喜欢的风格 star 2.3k 中文文档 在线预览 2.vux 基于WeUI和Vu ...
- iOS 设置文本中指定某段文本的颜色 大小
NSString *money = @"300"; NSString *perStr = @"元/时"; NSString *text = [NSString ...
- Redis和Memcached区别
本文参考 Redis与Memcached的区别. 如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点: Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set, ...
- 客户端putty xshell连接linux中vim不能正常使用小键盘的问题
在putty或xshell上用vi/vim的时候,开NumLock时按小键盘上的数字键并不能输入数字,而是出现一个字母然后换行(实际上是命令模式上对应上下左右的键). 解决方法: putty:选项Te ...
- 老凡原创PHPcms发布上架chinaz
FanCms内容管理系统(3网兼容) FanCms内容管理系统(3网兼容)核心使用CodeIgniter框架.使用SQlite数据库,不需要安装,上传到任意支持PHP的空间,就能使用.高级URL自定义 ...
- Java POI读取Excel数据,将数据写入到Excel表格
1.准备 首先需要导入poi相应的jar包,包括: 下载地址:http://pan.baidu.com/s/1bpoxdz5 所需要的包的所在位置包括: 2.读取Excel数据代码 package S ...
- java之静态代理和动态代理
我们以几个问题,来开始我们今天的学习,如果下面几个问题,你都能说出个一二,那么恭喜你,你已经掌握了这方面的知识.1,什么是代理模式?2,Java中,静态代理与动态代理的区别?3,Spring使用的是J ...
- python中的线程
1.线程的创建 1.1 通过thread类直接创建 import threading import time def foo(n): time.sleep(n) print("foo fun ...
- 使Eclipse下支持编写HTML/JS/CSS/JSP页面的自动提示
1.打开eclipse→Windows→Preferences→Java→Editor→Content Assist 修改Auto Activation triggers for java的值为:zj ...
- HDU [P1151] Air Raid
二分图匹配求DAG图上的最小路径覆盖 应用了拆点的思想,将DAG图上的每一个点拆成二分图的x集合与y集合,对于一条有向边u->v来说,我们在ux与vy之间连一条边,然后求二分图的最大匹配 DAG ...