金山面试CDN

标签: 金山 面试 cdn | 发表时间:2014-04-30 06:08 | 作者:Monkind
出处:http://blog.csdn.net

History

今天去金山网络面试的时候,被问到 性能优化,我说了几个,最后说到了 CDN,我说要尽量把静态的内容放置到CDN,但是为什么呢?面试官说既然你说到CDN,你就说说它的原理。之前有看过,但是忘记差不多了。

Summary

按我个人理解来说它是遵循就近原则,给用户找到最近的服务器来提供用户的静态内容,比如CSS文件、图像等,来提高用户访问网站的响应速度。

A content delivery network (CDN) is a system of distributed servers (network) that deliver webpages and other Web content to a user based on the geographic locations of the user, the origin of the webpage and a content delivery server.This service is effective in speeding the delivery of content of websites with high traffic and websites that have global reach. The closer the CDN server is to the user geographically, the faster the content will be delivered to the user. CDNs also provide protection from large surges in traffic.

上面说了内容分发网络是基于用户的地理位置、网页的源地址还有就是一个内容分发服务器。距离CDN服务器越近的用户,就能越快地获取到静态内容

description

有比较才有感觉到区别!

1 传统访问页面方式在这篇文章 What really happens when you navigate to a URL中,已经很清楚告诉我们页面究竟是如何在服务器和客户端之间传送的。简单来说就是:(1) 用户提交域名(2) 浏览器对域名解析,找不到对于的IP;再到操作系统,还是没有;再到路由器,再没有就到DNS服务器找(3) 最后找到对应的IP地址,向域名的服务主机发出数据访问请求(4) 服务器就返回页面的内容给客户端但是在这里的问题就是如果访问量很大的网站的话,比如新浪微博、facebook等大型网站,这样子的服务器肯定会被挤爆了,那怎么办呢?缓冲或者说是存储这种理念在冯·诺依曼提出之后就特别流行,确实,CDN也是采用缓存的理念2 CDN缓存后的网站的访问过程(1) 用户向浏览器提供要访问的域名;(2) 浏览器调用域名解析库对域名进行解析得到CNAME,再解析CNAME域名获取IP地址,在此过程中,使用的全局负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得用户能就近访问;(3) 这次解析到只是CDN服务器的IP地址,浏览器获取这个IP地址就向CDN缓存发送请求;(4) CDN缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求,缓存服务器就好像是中间人那样子;(5) CDN缓存服务器获取内容后,一方面在本地存储,以便客户端下次访问;另外一方面就发送给客户端;(6) 客户端就把从CDN缓存服务器返回的内容显示,下次访问就直接访问CDN缓存服务器。其实从上面就好像我们的计算机要访问数据那样子,因为CPU的运算能力很快,快到内存根本跟不上。如果CPU每次运算一下就要去内存获取数据的话,那么计算机的效率太低了。这样子的话,我们设置缓存,能够缓冲两者速度不匹配而导致的效率问题。所以CPU要访问数据,先到缓存中找,找不到就去内存中找,然后在缓存中添加对应的数据,下次要访问改数据就直接到缓存中找就行了。

references

内容分发网络百度百科
作者:Monkind 发表于2014-4-29 22:08:12 原文链接
阅读:66 评论:0 查看评论

相关 [金山 面试 cdn] 推荐:

金山面试CDN

- - CSDN博客互联网推荐文章
今天去金山网络面试的时候,被问到 性能优化,我说了几个,最后说到了 CDN,我说要尽量把静态的内容放置到CDN,但是为什么呢. 面试官说既然你说到CDN,你就说说它的原理. 按我个人理解来说它是遵循就近原则,给用户找到最近的服务器来提供用户的静态内容,比如CSS文件、图像等,来提高用户访问网站的响应速度.

Google宣布Google CDN

- way - Solidot
Google宣布了最新的帮助加快互联网速度的工具Page Speed Service,加快静态网页的载入速度,不支持动态网页. 在开发者注册该服务之后,可将网站的DNS入口记录指向Google,然后Page Speed Service从服务器上抓取内容,采用最佳的Web性能方案重写网页,通过Google在全球部署的服务器将内容展示给终端用户,加快网页载入速度.

CDN缓存策略

- - 开心平淡对待每一天。热爱生活
   CDN这个东西,当然是个好东西. 所以看到有FAQ就理所当然的复制下来,其实,最近我突然想到一件事情,中国的地区域名还有一个很有意思的地域域名,那就是js.cn,所以,我悄悄的申请了两个域名,cache.js.cn和cdn.js.cn,就是想用来做这种CDN转发,当然,只是简单的. 我最初的想法是(有一小部分),如果我的服务器里有N多人装了DZ论坛,那么这些JS和CSS其实都是共用的.

CDN 工作原理

- - 互联网 - ITeye博客
1.CDN的实现基础是通过将DNS的域名设置为CNAME(就是指向另一个域名,但这个域名也是有A记录的(就是域名对应IP)). 2.CNAME的作用就是要求浏览器发送域名到CNAME这个域名的服务器去解析得到域名的IP,就是本地DNS不作IP解析,而由CNAME指定的服务器去解析. 3.CNAME指定的服务器去解析的IP地址是CDN的全局负载均衡设备IP.

[CDN] 第二代 CDN 架构和普通 CDN 架构

- cgeek - 扶凯
近来没有什么东西好写的,介绍一下我们公司几前年的一个东西,可能对很多人来讲是个新的东西. 我以后可以介绍一些这些公司的技术. 这次要讲的是普通 CDN 和我们公司的 C.

jQuery CDN failover 的方式…

- Tim - Gea-Suan Lin's BLOG
之前有在其他網站上看到 failover 的技巧,但剛剛才發現 jQuery 官方網站上也用上了類似的技巧,將 Google (ajax.googleapis.com) 與 EdgeCast (code.jquery.com) 的 CDN:. 雖然 jQuery 網站上是放在開頭,但放在 HTML 最後面也有一樣的效果….

如何诊断CDN故障

- - 火丁笔记
某项目使用CDN做文件下载服务,最近不时有网友反馈下载出错,因为CDN是第三方提供的,且节点众多,所以诊断起来有点麻烦,必须想想招儿. 首当其冲的问题是如何确认CDN有哪些节点. 幸运的是通过 阿里测提供的服务,我们能拿到这个IP列表,当然这个IP列表不可能百分百完整,不过应该包含了大部分的节点,有兴趣的可以参考 百度的JQuery CDN例子.

自建CDN资料收集

- - the5fire的技术博客
前端时间研究了下CDN的搭建,收集了不少资料,记录在此. 在CDN搭建方面,主要的几个软件就是:Squid,Varnish,Traffic Server还有nginx. 要了解整个过程还是得从网络基础开始. 土豆网CDN应用和实践:. 使用Apache Traffic Server代理服务器缓存视频文件.

免费 CDN 加速服务:CloudFlare

- ArBing - 我爱水煮鱼
最近通过 MediaTemple 的后台了解到 (mt) 提供了 CloudFlare 加速服务服务,仔细看了下,CloudFlare 是一家功能非常强大的免费 CDN 免费加速服务. 什么是 CloudFlare. CloudFlare 是通过反向代理(reverse proxy)提供网站加速服务,为站长解决了 jpg/JS/CSS 这些静态文件到 CDN 上的问题,并且通过它部署在全球各大洲的缓存结点服务器(详细列表),提供高效的加速服务.