我的回答
CDN节点缓存策略
CDN通过在现有网络中增加一层新的缓存节点,将源站的资源发布到最接近用户的网络节点,使得客户端在请求时直接访问到就近的CDN节点并命中该资源,减少回源情况,提高网站访问速度。
CDN缓存节点可分为L1节点(一级节点)和L2节点(二级节点),请求的流程是:客户端—>CDN_L1—>CDN_L2—>源站。
CDN的L1节点分布在全国各省市,L2节点分布在几个大区下,可以把L2节点理解为汇聚式节点,简单架构如下图所示。
参考答案
处理方式
- 当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。
- CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户
- 用户向CDN的全局负载均衡设备发起内容 URL 访问请求
- CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求
- 基于以下这些条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址:
- 根据用户IP地址,判断哪一台服务器距用户最近
- 根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需的内容
- 查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力
- 全局负载均衡设备把服务器的IP地址返回给用户。
- 用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。
- 根据用户IP地址,判断哪一台服务器距用户最近
- 根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需的内容
- 查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力
- 全局负载均衡设备把服务器的IP地址返回给用户。