CDN相关事项(上篇),我的Java春季历程

服务器带宽

网站服务器接入互联网的网络带宽,这个带宽决定了能为请求提供的访问速度和并发访问量

网络骨干

![](https://upload-images.jianshu.io/upload_images/

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

15590149-c1d9a60a86b7b843?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

互联网的长途传输要道,出没于IDC、骨干网、城域网、接入网等,会出现“时延”和“拥塞”。

运营商

互联网覆盖四大运营商,各运营商的网络独立运营,各个运营商之间的互联带宽成为瓶颈

最后一公里

用户电脑接入的网络,也被分为不同的接入方式ADSL或FTTX等,以及带宽;不同的方式带宽,不同费用。

控制时延

根据研究发现:当人们获得网络信息时,好感度随时间流逝下降的最为迅速。

*0.1 s:*用户几乎感觉不到系统是否不连贯性。

*1.0 s:*用户明显注意到时延的发生,但是在该时间内思维依然是连贯的。

*10 s:*超过该时间的时延会使用户失去等待意愿。

控制时延无疑是现代信息科技的重要指标。

CDN引入

在一般的系统中,用户访问一个网页,网页里面包含图片,CSS,JS等静态内容,以及一些动态的数据信息。设计的比较好点系统都会做到动静分离

用户流量一旦大了之后,静态资源服务器的压力也是非常大的,这些资源的特点是不会经常改变。一般涉及到不会改变的资源,我们能想到的就是用缓存技术提高系统吞吐量,抗压。

用户时延的体验感,是每个系统都要考虑的。集合上面的需求,在整个体系架构中,就引入了CDN这个技术。

CDN的意图就是尽可能的减少资源在转发、传输、链路抖动等情况下顺利保障信息的连贯性。 解决因分布、带宽、服务器性能带来的访问延迟问题适用于站点加速、点播、直播等场景。使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度和成功率。

CDN流程

上图的主要流程如下:

1.用户向浏览器输入www.web.com这个域名,浏览器第一次发现本地没有dns缓存,则向网站的DNS服务器请求

2.网站的DNS域名解析器设置了CNAME,指向了www.web.cdn.com**(即请求指向了CDN网络中的智能DNS负载均衡系统**)

3.智能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返回给用户

4.用户向该**IP节点(CDN服务器)**发出请求;

5.由于是第一次访问,CDN服务器会向源web站点请求数据,并缓存内容

6.请求结果发给用户。

核心技术点CNAME映射,上面流程的总结就是,用户发起域名请求,DNS会选择最近CDNS节点给用户,直接从这个CDN节点上面获取数据。

CDN节点

每个CDN节点由两部分组成:负载均衡设备和高速缓存服务器

负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时负载均衡设备还负责收集节点与周围环境的信息,保持与全局负载DNS的通信,实现整个系统的负载均衡。
个Cache的负载均衡**,保证节点的工作效率;同时负载均衡设备还负责收集节点与周围环境的信息,保持与全局负载DNS的通信,实现整个系统的负载均衡。


版权声明:本文为m0_63174529原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。