一文搞懂CDN的技术架构和原理

2020-06-15 10:44:14 浏览数 (1)

CDN的由来

CDN的全称是Content Delivery Network,即内容分发网络。使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。

image-20200612153544714image-20200612153544714
  • N0.1 最小规模阶段:1台服务器,面向所有用户
  • N0.2 规模扩大阶段:2台服务器,面向不同地区的用户
  • NO.n 规模再次扩大阶段:n 台服务器,面向不同地区的用户

用户能够就近访问服务器

image-20200612153627840image-20200612153627840
  • 提高用户的访问速度
  • 减轻服务器的压力
  • 提升网站的稳定性和安全性

CDN的分类

网页加速

image-20200612153817729image-20200612153817729

流媒体加速

流媒体加速流媒体加速

大文件加速

大文件加速大文件加速

应用协议加速

应用协议加速应用协议加速

路由转发技术

路由转发技术路由转发技术

当用户访问http://www.test.com/1.html这个域名时 会首先发送请求到本地DNS服务器,对http://www.test.com/1.html这个域名进行解析 然后本地DNS向只能DNS发送请求,进行递归查询 智能DNS会返回一个最佳接入节点 用户就会访问这个最佳接入节点

负载均衡

负载均衡负载均衡

路由转发的技术也是在负载均衡的基础上发展来的,也可以解释为路由转发是负载均衡的其中一种

什么是负载均衡?

负载均衡是在现有的网络上提供了一种廉价有效透明的方法,可以扩展网络设备和服务器的带宽,增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性

通俗的说就是把原来的单台服务器完成的工作交给多台服务器完成,以此来减轻单个服务器的压力,提高服务器数据处理能力的效果

负载均衡分类

本地负载均衡
本地负载均衡本地负载均衡

本地负载均衡是指对本地的服务器进行负载均衡 这些服务器通常都在一个机房内,没有地理位置的差异 上图中通常有一个对外服务的智能交换设备 这个设备相当于CDN里面的智能DNS,它会对用户的请求进行转发,使得用户的请求到达启动的某一个节点,从而达到最优效果

主动探测
主动探测主动探测

智能交换设备通过ping www.mobaijun.com方法进行探测 判断目标服务器是否健康

协议交互
协议交互协议交互

这个协议目前是没有固定的标准和格式,一般都是由各大厂商自行规定

协议内容:

主机名称 CPU运行状态 内存运行状态 网络运行状态 耗电状态等一系列

小结:

主动探测:主动探测获取的信息比较简单粗暴 协议交互协议交互获取的信息更加具体全面

全局负载均衡
全局负载均衡全局负载均衡

全局负载均衡和本地负载均衡结构基本一样,但是由于其地理位置差异巨大,有时几十公里,有时几百公里,因此在实现的技术方面也有很大差异,并且也有自己不同的优缺点 全局负载均衡实现方式方式一:根据IP地址库投票匹配

IP地址库投票匹配IP地址库投票匹配

方式二:CDN主动探测目标最近距离

CDN主动探测目标最近距离CDN主动探测目标最近距离

用户发送一个请求,智能DNS会向所有的节点发送一个探测指令,节点收到探测指令以后会主动判断自己和目标之间的距离,然后将探测的结果反馈给智能DNS,由智能DNS进行判断,最后返回综合评分最高的节点地址

小结:

全局负载均衡优点安全性和稳定性更高 可以有效避免单个机房电力或者网络故障导致的服务中断 可以避免ISP专线故障引起的单点失效 可以解决网络拥堵 可以提供就近访问,提高用户体验 本地负载均衡优点建设成本低,管理成本低 可以解决热备的问题

小结:

CDN就是负载均衡中的全局负载均衡

内容分发技术

内容分发技术内容分发技术

当源站需要分发内容的时候,可以将分发内容分发到CDN中间源 再由CDN中间源转发内容到各个CDN节点 如果CDN节点需要请求某个URL内容请求时,会将请求先发送到CDN中间源 再由CDN中间源主动向源站发送请求内容,最后将获取到的数据存储到中间源和内容节点上,从而达到节点加速的效果

主动推送(push)
主动推送主动推送

主动推送就是服务器源站将内容分发到内容节点 用户访问时就可以直接访问到节点上的副本

被动推送()
被动推送被动推送

被动访问就是在用户访问时,向镜像服务器发送请求,如果镜像服务器上有内容,就直接返回给用户,如果没有,就到服务器源站获取后在返回给用户

CDN边缘节点上的内容是实时更新的嘛?
CDN边缘节点上的内容是实时更新的嘛CDN边缘节点上的内容是实时更新的嘛
一个源站给那么多节点推送数据压力会不会很大?
推送数据鸭梨大推送数据鸭梨大
内容下发内容下发
主动请求主动请求
应该怎么做才能最大程度的加速网站内容?
加速网站加速网站
CDN怎么处理文件的Cache-Control设置?
文件缓存文件缓存
CDN对跨域的处理?
什么是跨域?
跨域跨域
解决方案
解决方案解决方案

内容存储技术

内容存储技术内容存储技术

内容存储介质

目前市面上主流有两种

内容存储介质内容存储介质

存储结构

直连式存储: (DAS: Direct Attached Storage) 存储区域网络: (SAN: Stirage Area Network) 网络接入存储: (NAS: Network Attached Storage)

NAS是目前被CDN厂商使用最多的存储结构

NAS(Network Attached Storage)(网络附属存储)

网络附属存储网络附属存储

NAS内部实现架构

内部实现架构内部实现架构

NAS外部实现架构

外部实现架构外部实现架构

NAS的优点

  • 部署方便
  • 管理简单
  • 便于拓展
  • 价格便宜

云存储

云存储是在云计算(Cloud Computing)概念上延伸和发展出来的一个新的概念,是一种新兴的网络存储技术,是指通过集群应用,网络技术分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的系统.

云存储和CDN是密不可分的,缺一不可

CDN使用云存储的可行性

拓扑结构相似

拓扑结构拓扑结构

管理成本低

管理成本低管理成本低

弹性化结构

弹性化结构弹性化结构

性能更加好

云计算运算能力更强 并发操作提高传输速率(Data Transfer Rate) 网络集群(Softeare Defined Network)提高IO和Qos

安全性更高

数据多副本容错 数据加密 身份验证 访问隔离 分布式存储

内容管理技术

内容管理技术内容管理技术

内容管理技术主要是软件层的应用

管理系统管理系统

资源管理系统

  • GSLB(全局负载均衡系统)负责资源的调度方案
  • 资源管理系统负责资源的统筹和管理

安全管理系统

  • 内容安全管理系统
  • 防护安全管理系统

访问控制:

  • referrer防盗链:根据HTTP/HTTPS Header中的referrer值进行访问控制
  • token 防盗链:利用时间戳、私钥计算Token ,按指定格式拼接,进行访问鉴权
  • IP黑白名单:根据请求源IP进行访问控制
  • UA黑白名单:根据HTTP/HTTPS Header中的User- Agent值进行访问控制
  • IP 访问限频:单节点单IP访问限频控制,有效抵御CC攻击
  • HTTP Header配置:支持跨域访问配置

HTTPS:

  • 将已有证书.上传至全网CDN节点,实现用户> >节点>> 源站全访问安全传输
  • 腾讯云提供免费证书申请,颁发后支持一键部署至CDN

配置管理系统

  • 系统配置管理配置
  • 域名配置管理系统
  • 定制化配置管理系统

立体化监控系统

  • 单机节点健康监控
  • CDN平台多维度监控
  • 联动测试运营系统

0 人点赞