CDN概述

CDN简介

CDN是指内容分发网络,是用来解决网络带宽小,网络拥塞,用户访问量大,导致用户响应速度慢的一种解决方案。解决思路可以概括为应用大量的缓存服务器,将缓存服务器部署到用户访问比较集中的区域,比如广州的机器就使用广州idc的缓存服务器,从而绕过网络延迟,抖动,达到更快传输,用户响应更快的目的

CDN重要部分

CDN主要分为四个重要组成部分,分别是源站,智能dns服务器,缓存服务器,客户端

源站是指真正存储文件的地方,对应需求的cos对象存储地址
客户端是指访问的用户
缓存服务器是就近缓存文件,直接用来响应客户端的机器
智能dns是cdn最重要的部分,是用来将用户的请求指向用户访问集中的缓存服务器,这个指向的调度过程是最重要的

访问的过程是这样的,首先客户端访问CDN ,智能CDN 会给到缓存服务器的ip地址,客户端会直接请求缓存服务器,这里分为两个部分,如果缓存服务器中有缓存文件,则直接返回响应。如果没有,则向附近的缓存服务器或源站请求,拿到文件缓存后进行返回,这里缓存服务器会使用自己的CDN

CDN调度

调度是 CDN 中的重中之重,流量接入、流量牵引、选择合适的 CDN 节点服务器等工作,都是在调度环节完成的

LDNS方式

cdn还是基于dns实现的,ldns是本地域名服务器,每台pc都会有一个本地域名服务器,平常的域名解析过程会先去访问本地的域名服务器,如果有对应的ip则进行返回,如果没有则迭代向上一级的域名服务器发送请求

用户请求的时候,使用的ldns会递归的访问到cdn厂商的GLB(Global Load Balance),全局负载均衡会知道该请求对应的LDNS来自哪一个位置,GLB根据就近原则,健康状况等为该请求分配一个CDN节点

假如网民是一个北京联通的用户,它使用的 LDNS 地址也是北京联通的,而 LDNS 访问 GLB 也是北京联通的,则 GLB 则认为网民的位置在北京联通,那么会分配一个北京联通的 CDN 服务器地址给 LDNS,LDNS 将http:www.a.com解析出的 IP 地址返回给最终网民,那么在以后网民浏览器发起请求的时候,都会直接与北京联通的 CDN 节点进行流量通信,从而达到了加速的目的。

image

302调度

http状态码302表示重定向请求,302调度就是利用重定向的这个特点。用户请求要拿到文件时,基本流程和LDNS相同,返回一个CDN节点后,用户与该CDN节点通信,通信时CDN节点就会知道该请求的真正地址,然后根据该真实地址,返回一个更为恰当的CDN节点,这样就可以重新进行调度了

下面是一个http 302请求的例子:

HTTP/1.1 302 Moved Temporarily
Server: stgw/1.3.6.2_1.13.5
Date: Sun, 16 Dec 2018 19:38:58 GMT
Content-Type: text/html
Content-Length: 168
Connection: keep-alive
Location: http://61.142.166.245/p73.ping.dnsv1.com/a.php

在接收到该报文后,浏览器又会接着发起第二次请求,请求的url就是Location中的内容

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值