【简记】Java Web 内幕——CDN简介

CDN 也就是内容分布网络( Content Delivery Network ) ,它是构筑在现有Internet 上的一种先进的流量分配网络。其目的是通过在现有的Internet 中增加一层新的网络架构,将网站的内容发布到最接近用户的网络”边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。

有别于镜像, 它比镜像更智能, 可以做这样一个比喻: CDN =
镜像( Mirror ) + 缓存( Cache )+ 整体负载均衡( GSLB ) 。因而, CDN 可以明显提高Internet中信息流动的效率。

目前CDN 都以缓存网站中的静态数据为主,如CSS 、JS 、图片和静态页面等数据。

CDN架构:
【简记】Java Web 内幕——CDN简介_第1张图片

DNS 解析服务器通常会把它重新CNAME 解析到另外一个域名,而这个域名最终会被指向CDN 全局中的DNS 负载均衡服务器,再由这个GTM 来最终分配是哪个地方的访问用户,返回给离这个访问用户最近的CDN 节点。

拿到DNS 解析结果,用户就直接去这个CDN 节点访问这个静态文件了,如果这个节点中所请求的文件不存在,就会再回到源站去在取这个文件,然后再返回给用户。


负载均衡

三种负载均衡架构:

  • 链路负载均衡
  • 集群负载均衡
  • 操作系统负载均衡

所谓的链路负载均衡也就是前面提到的通过DNS 解析成不同的IP,然后用户根据这个回来访问不同的目标服务器。

集群负载均衡又分为硬件和软件两种实现。硬件的缺点是价格昂贵,且不能动态扩容;软件成本低,但一般一次访问请求要经过多次代理服务器,会增加网络延时。

操作系统负载均衡,就是利用操作系统级别的软中断或者硬件中断来达到负载均衡,如可以设置多队列网卡等来实现。


CDN动态加速

只有在回源的时候才会用到动态加速技术(即CDN节点没有所需的文件,需要回到源站读取)

CDN 的动态加速技术也是当前比较流行的一种优化技术, 它的技术原理就是在CDN的DNS 解析中通过动态的链路探测来寻找回源最好的一条路径,然后通过DNS 的调度将所有请求调度到选定的这条路径上回源,从而加速用户访问的效率。

【简记】Java Web 内幕——CDN简介_第2张图片

你可能感兴趣的:(java,web)