CDN网络加速

共 1345字,需浏览 3分钟

 ·

2021-09-13 08:52


  • 前言

  • CDN

    • CDN架构

    • 客户端如何访问

  • 往期推荐


前言

之前记录过关于DNS的内容,[DNS域名解析系统],不熟悉的同学可以点击进去看一下。

那跟今天记录的内容有关系吗?没关系

今天记录的内容是什么,是CDN,看百科的介绍:

如果按照之前的单地点部署方式,那么所有流量都会请求到那个地方,而且有些请求的距离相当远,比如您现在访问github,距离最近的服务器好像是在新加坡,那么一个请求就要跨越几千上万公里,中间耗时不言而喻。

我经常访问github的时候会很慢,有时候仓库都check不下来

由于有这些情况,所以CDN出现了。

CDN

CDN 和分布式仓储系统一样,分为中心节点、区域节点、边缘节点,而数据缓存在离用户最近的位置。

在数据中心部署一个用于缓存的集群来缓存部分数据,当访问数据时,就可以进行就近访问。

分布在各个地方的各个数据中心的节点,称为边缘节点

当用户访问网站时,利用全局负载技术,将用户的访问指向距离最近的缓存服务器上,由缓存服务器响应用户请求。

由于边缘节点数目较多,但每个集群规模较小,不可能缓存所有东西,所以可能无法命中,所以在边缘节点之上由区域节点,规模较大,缓存数据更多,命中概率更大,区域节点之上时中心节点,规模更大,缓存数据更多。如果还无法命中,只好回源网站访问。

CDN擅长的是缓存静态数据,也即是像css、html、图片等数据

CDN架构

客户端如何访问

没有CDN时:

在没有CDN时,会访问本地DNS,然后递归根DNS至权威DNS服务器获取IP地址。

直接进行访问

有CDN时:

有CND后,会先访问web.com权威DNS服务器,设置一个CNAME别名,指向另一个域名www.web.cdn.com,返回给本地DNS服务器

当本地 DNS 服务器拿到这个新的域名时,需要继续解析这个新的域名。这个时候,再访问的就不是 web.com 的权威 DNS 服务器了,而是 web.cdn.com 的权威 DNS 服务器,这是 CDN 自己的权威 DNS 服务器。在这个服务器上,还是会设置一个 CNAME,指向另外一个域名,也即 CDN 网络的全局负载均衡器。

接下来,本地 DNS 服务器去请求 CDN 的全局负载均衡器解析域名,全局负载均衡器会为用户选择一台合适的缓存服务器提供服务,选择的依据包括:

  • 根据用户 IP 地址,判断哪一台服务器距用户最近;
  • 用户所处的运营商;
  • 根据用户所请求的 URL 中携带的内容名称,判断哪一台服务器上有用户所需的内容;
  • 查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。

基于以上这些条件,进行综合分析之后,全局负载均衡器会返回一台缓存服务器的 IP 地址。

往期推荐:

TCP为什么可靠?

详解tcp三次握手四次挥手

DNS域名解析系统

广播与多播

UDP是什么东西???

路由协议

网关和路由

星巴克气氛组电脑是如何获取IP的

浏览器发起HTTP请求后经历了什么?

推荐一个生产环境问题排查利器

MySQL系列文章

k8s全系列文章汇总



浏览 48
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报