腾讯终面:“你懂CDN吗?详细说说”
我就是牛可乐
2024-10-08 12:35:29
面试官:“你知道 CDN 的是怎么知道找到距离你最近的服务器,然后把资源分配给你的吗?”
其实我在这个时候不太清楚,就凭印象想了一下之前学的东西,半猜半问的回答的:
“是通过一个可以调度距离的服务器来做的?”
面试官说不对,然后我灵机一动,从五层模型的角度聊了一下这个事情:
五层模型
物理层和数据链路层我就不聊了,直接从最核心的网络层开始聊
🔸网络层
🔸传输层
🔸应用层
IP-DNS-GSLB
通过这一段描述我们可以看到其实 CDN 的核心在于网络层这里,也就是“将用户的请求重定向到最佳的边缘节点”,我们展开聊聊:
我们首先会在网络层进行 DNS 解析,在解析的过程中判断这个域名有没有使用 CDN 服务,如果使用了,我们会有一个 GSLB 系统来处理这个事情,那么这个系统是啥,原理是啥呢?我们举个例子来说:
当用户发起对某个域名的请求时,该请求首先被发送到本地DNS服务器(Local DNS)。本地DNS服务器会向权威DNS服务器查询域名的IP地址。在GSLB的环境下,权威DNS服务器实际上是被GSLB系统所接管,它不再仅仅返回一个静态IP地址,而是根据一系列策略来决定返回哪个IP地址。
(在 GSLB 前面那一段是不是很熟悉?没错,这就是 DNS 解析的过程,在这个过程中做了这个事情。)
我在这里简单列出几个可能的策略:
🔸地理位置
🔸服务器健康状态
🔸负载情况
🔸网络拥塞情况
.
内容来自牛友:RykerFeng
来源:牛客
0
阅读:0