CDN简述

来源:互联网 发布:c 多进程编程 例子 编辑:程序博客网 时间:2024/05/19 14:53
CDN(Content Delivery Network)
内容分发网络
技术背景
虽然网站业务发展 用户增加,web服务器的负荷越来越大,还有传输距离等因素的影响,对我们网站的响应速度构成了极大的挑战.
解决方案就是在网络传输上利用缓存使得web服务数据流能就近访问,是优化网络数据传输非常有效的技术,从而获得高速的体验和

品质保证.

用户普通的请求方式 不走CDN


1.用户向浏览器提供要访问的域名

2.浏览器调用域名解析函数对域名进行解析,得到相应的IP

3.浏览器使用所得到的IP向服务器发起请求

4.得到服务器响应的内容做展示

我们的CDN网络是在用户和服务器之间增加一层cache,如何将用户请求引导到Cahe服务器上获取数据主要是

DNS实现的,如下面的流程图


1.用户向浏览器提供要访问的域名

2.浏览器调用域名解析库对域名进行解析,由于CDN对域名解析做了调整,所有解析函数库一般得到的是该域名对应的CNAME记录,

为了得到实际的IP浏览器需要对再次获得的CNAME进行解析得到实际的IP地址,在此过程使用全局负载均衡DNS解析,根据地理位置

信息解析对应的ip地址,使得用户可以 就近访问

3.此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的IP地址以后,向缓存服务器发出访问请求;

4.缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求

5.缓存服务器从实际IP地址得得到内容以后,一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程;

6.客户端得到由缓存服务器返回的数据以后显示出来并完成整个浏览的数据请求过程。


内容分发技术

PUSH

    主动分发

    内容管理系统发起

    将内容从源发到CDN的Cache节点

PULL

    被动分发技术

    用户请求驱动

    用户请求内容CDN中miss,从源中或者其他CDN节点中获取内容

    

为什么使用CDN系统

a.缓解源服务器访问压力

b.解决互联互通的难题

c.解决网站突发流量问题

d.合理利用互联网资源

e.全面预防单点故障

f.改善用户的访问质量和体验

g.提供全面、准确和详细的数据统计

h.有效的防治黑客攻击源站

解决中小企业租用虚拟服务器慢的问题

解决加速问题


国内使用情况

大型网站

   自建CDN

中小型网站

   第三方合作

   快网 七牛

小网站

    不使用CDN


案例

本人在公司边做过一个分发中心,CDN用的便是快网、七牛

文件上传到源服务器后,会生成任务 加入消息队列 发送到快网

参考文档CDN(内容分发网络)技术原理



原创粉丝点击