CDN架构和原理

问你个问题,如果源服务器挂了。后果会怎样的?

用nginx还是用varnish还是squid,就要看cdn服务商自己的技术的要求了。

影响的会是用到该源的所有服务的所有用户。

所以你们的源服务器最好是搞两台的,一台主,平时cdn的二级回源,就回源这台机器的。

一台备,当主源出问题时,cdn的二级回源能自动回源到备机的。

通常swf、静态页面、图片、音频文件、游戏场景素材这些都会放CDN的。我所知道的网宿,之前回源的IP是十几个的

你将文件上传到源服务器,以及对应的游戏页面更新的这文件的地址。当用户去cdn下载这文件时,其实在cdn节点是没这文件的内容的。这时cdn的节点会向二级回源节点去找,二级回源节点也没有,就会请求向源服务器去下载,下载后,会将内容传回给cdn节点,同时会在自己本地保存一份内容。cdn节点拿到文件后,就会将内容传给用户,同时也会将内容在本地存一份,这样第一个用户就已经拿到内容了。

有些内容的规则的缓存规则写得不好,会导致每个用户访问的内容都要回源。这样会导致回源的带宽非常大,甚至将带宽撑爆,也会导致用户访问时的响应非常慢的。

二级回源服务器也会保存(缓存)一份数据,供给其他cdn节点访问用的。这样源服务器的回源带宽就会低很多了。

因为处理的是静态内容,所以不会消耗多少cpu的。只消耗带宽以及磁盘空间而已的。

源服务器只要做正常的图片的部署就行了。但要设定指定后续名的文件的过期时间。

通常如果mp3文件不怎么更改的,将过期时间可以设置为1个月或7天过期的。

等到了过期时间,在访问时会回源做一次文件校验,如果文件没更改的,就返回303给客户端,用户就继续访问自己本地的缓存,或者是cdn节点就不需要再重新下载内容了。

当更改了这文件后,就更新一次后面的版本号。当作新内容来对待,这样就不会出现用户那边访问的还是老的内容的情况了。

没这配置,cdn会用自己的内部规则来定义这过期时间,如果没有的,访问相同的内容,就会一直回源做文件校验,这会导致回源带宽变大,以及用户的访问也慢的。

http://davidbj.blog.51cto.com/4159484/1423732

介于cdn节点与源服务器之间的那层节点,就叫做二级回源节点。

也叫cdn的父节点。

相当于最外面的cdn的子节点的内容,会通过二级节点获取。

但二级节点的内容,会回源服务器去获取。

这么说吧。用户所访问的cdn节点的图片等静态文件和资源,原来在cdn节点和二级节点都没有,最终是要回源服务器来获取这些图片等静态文件和资源的。

cdn的其中一个功能,就是会在内存里缓存从源服务器拿到的图片等静态文件资源。

可以使用nginx、varnish、squid来做缓存的。

估计现在用nginx做的比较多。因为比较简单

这是用17ce解析img.baidu.com的百度的图片服务器的域名的情况。这些IP,都是img.baidu.com这域名下的cdn的节点IP的。不同地区解析到的IP是不同的。

对应地区的用户,就能解析到他最近的服务器的IP。这样用户在访问图片时速度就会快很多,因为服务器就在用户附近。

自己查一下cdn的整个架构是怎样的就知道了。

为了防止源服务器挂掉而导致图片不能正常显示的,通常源服务器是设置两台的。当有一台源服务器挂掉。让二级cdn节点回源另外一台机器的。这样就能保证图片访问一直都是正常的。

时间: 2024-08-09 14:38:36

CDN架构和原理的相关文章

《大型网站技术架构核心原理与案例分析》阅读笔记-01

通过阅读该书籍我们能够更加清楚的树立大型网站的的技术发展历程,剖析大型网站技术架构模式,深入的讲述大型互联网架构核心原理,并通过一些典型的技术案例来讲述大型网站开发全景视图,该书籍深入的阐述了各种大型网站面临的各种架构问题及解决方案. 在第一章第一篇大型网站架构演化中了解到与传统企业应用系统相比,大型互联网应用系统具有高并发大流量.高可用性.海量数据.用户分布广泛,网络情况复杂.安全环境恶劣.需求快速变更,发布频繁.渐进式发展等特点:大型网站架构演化发展历程经历了初始阶段的网络架构它的应用程序.

《大型网站技术架构-核心原理与案例分析》之一: 大型网站架构演化

最近刚刚读完李智慧的<大型网站技术架构-核心原理与案例分析>,对每章重点内容作了一些笔记,以便加深印象及日后查阅. 一.大型网站软件系统的特点 高并发,大流量:需要面对高并发用户,大流量访问. 高可用:系统7X24小时不间断服务. 海量数据:需要存储.管理海量数据,需要使用大量服务器. 用户分布广泛,网络情况复杂:许多大型互联网都是为全球用户提供服务的,用户分布范围广,各地网络情况千差万别. 安全环境恶劣:由于互联网的开放性,使得互联网站更容易受到攻击,大型网站几乎每天都会被黑客攻击. 需求快

大型网站系统架构技术原理透析

跟朋友聊天的时候,发现很多人对大型网站系统架构非常感兴趣,我也很感兴趣,经常会在家里2台笔记本和1台服务器组成的局域网环境里作些实验.我进 入IT行业的时间,大约是97,98年吧,那时候PC客户端软件最为盛行,做软件开发是一份很体面也很喜欢的工作.我从Win3.1上的VC1.5开始一 直到VC6.0,然后转为.Net开发,基本上都是从事客户端软件开发.本人的性格是危机意识向来严重,所以深感互联网必将盛行,传统软件必将走向没落, 于是转向了WEB开发.记得以前去某Portal网站应聘的时候,主考官

JAVA读书推荐----《深入分析Java Web技术内幕》--《java多线程编程核心技术》--《大型网站技术架构 核心原理与案例分析》-《Effective Java中文版》

(1)  首先推荐的不是一本书,而是一个博客,也是我们博客园另外一位博友java_my_life. 目前市面上讲解设计模式的书很多,虽然我前面讲了看书是最好的,但是对设计模式感兴趣的朋友们,我推荐的是这个博客.这位博友的设计模式讲得非常非常好,我认为90%的内容都是没有问题且很值得学习的,其讲解设计模式的大体路线是: 1.随便开篇点明该设计模式的定义 2.图文并茂讲解该设计模式中的结构 3.以详细的代码形式写一下该种设计模式的实现 4.补充内容 5.讲解该设计模式的优缺点 对于一个设计模式我们关

Java大型互联网-构建高并发和高可用的电商平台架构实践原理

并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行. "高可用性"(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性. 一. 设计理念 1. 空间换时间 多级缓存,静态化 客户端页面缓存(http header中包含Expires/Cache of Control,last modified(304,server不返

《大型网站技术架构 -核心原理与安全分析》读书笔记

大型网站架构演化的价值观 网站的价值在于它能为用户提供什么价值,在于网站能做什么,而不在于它是怎么做的,所以在网站还很小的时候去追求网站的架构是舍本逐末,得不偿失的.小型网站最需要做的就是为用户提供好的服务来创造价值,得到用户的认可,活下去,野蛮生长. 网站架构设计误区 一味追求大公司的解决方案 大公司的经验和成功模式固然重要,值得学习借鉴,但如果因此而变得盲从,就失去了坚持自我的勇气,在架构演化的道路上迟早会迷路. 为了技术而技术 网站技术是为业务而存在的,除此毫无意义.在技术选型和架构设计中

网络内容缓存CDN的工作原理

网络内容缓存CDN的工作原理 CDN的全称是Content Delivery Network,即内容分发网络 CDN的目的就是提高用户访问网站的响应速度 提速的基本思路 例如你的网站服务器是在北京,这时有一个广州的用户来访问你的网站 当你的网站没有使用CDN时,用户是直接通过网络读取你的服务器,这个过程就涉及到了一些网络问题,例如南北网络互相访问慢的问题,或者涉及到不同网络运营商的网络沟通问题,这些问题很可能对用户体验产生不好影响 当你的网站使用CDN后,CDN把你的网站资源复制到了全国各地的服

Spark(一): 基本架构及原理

Apache Spark是一个围绕速度.易用性和复杂分析构建的大数据处理框架,最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目之一,与Hadoop和Storm等其他大数据和MapReduce技术相比,Spark有如下优势: Spark提供了一个全面.统一的框架用于管理各种有着不同性质(文本数据.图表数据等)的数据集和数据源(批量数据或实时的流数据)的大数据处理的需求 官方资料介绍Spark可以将Hadoop集群中的应用在内存中的运行速度提升100倍

以属性为核心驱动的 全领域通用架构设计原理 (简称:属性架构原理)

以属性为核心驱动的全领域通用架构设计原理 (简称:属性架构原理) 联系方式:13547930387 Email:[email protected] 一.个人声明 我,参加工作也有5年多了,是一名普通的不能在普通的程序员,一直在使用公司自己的产品进行开发,因此技术比较菜,此设计完全是按照自己天真的想法而设计的,如果有不合理或很搞笑的地方,请轻拍,由衷的希望大家能提出宝贵的意见: 根据此设计原理我也做了一个简单的(demo)架构来支撑和验证此理论的可行性,由于技术功底不太好,有不合理之处请大家谅解,