热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CDN技术研究——总概篇

CDN技术研究——总概篇什么是CDNCDN又称内容投递网络(ContentDeliveryNetwork),引入目的为解决打通用户到网络的最后一公里,提高用户访问速度

CDN 技术研究——总概篇

什么是 CDN

CDN 又称内容投递网络(Content Delivery Network),引入目的为解决打通用户到网络的最后一公里,提高用户访问速度。

如何打通?最简单的一个例子:

  • A 公司服务器部署在北京,对外提供 Web 服务,B 用户在广州访问 A 公司的网页,需要跨网络从广州到北京下载 Web 的静态网页,网页上的图片,Flash 等内容,由于距离远,打开这个网页可能需要 5 秒。
  • A 公司为解决广州用户访问自己 Web 服务缓慢问题,可以有如下解决办法:通过在广州部署镜像服务器的方式(如果考虑运营商差异,可能还需要在不同运营商部署镜像服务)。如果 A 公司的 Web 服务有内容变更,就需要重新镜像,这种一般是通过定时来完成的,如 24 小时,这样就会导致 B 访问 A 公司 Web 服务获取的信息是陈旧的信息
  • 第二种方案,就是在广州部署 CDN,当 B 访问 A 公司的 Web 服务时,实际上是访问 A 公司在广州的 CDN 服务器(通过 DNS 解析的方式,用户无感知),CDN 服务器发现用户要访问的内容没有在 CDN 服务器上,就会向 A 公司的源服务器下载相应内容。下一次如果再有广州用户 C 访问同样的资源,CDN 服务器就可以直接向 C 返回该资源。C 的感知就是打开网页的速度变快了

CDN 视图

上面只是一个简单的 CDN 加速的原理,实际上一个 CDN 不是由一两台服务器组成,而是一整套网络服务。以下分别从架构,部署和业务三个视图上来看 CDN 的部署结构

功能视图

CDN 最核心的两个部件是分发服务系统和负载均衡系统:

  • 分发服务系统是打手,它负责将内容分发给最终用户
  • 负载均衡系统是大脑,它通过网络管理系统和运营管理系统中的信息,来决定分发服务系统中哪一台服务器向最终用户提供服务

部署视图

一般在部署上,CDN 是分为中心层和边缘层的。

从工作关系上,边缘层面向最终用户提供内容分发服务。如果边缘层的边缘节点上没有用户访问的资源,边缘节点会向中心节点请求该资源,如果中心节点也没有资源,会向源站区请求资源。如果中心节点压力过大,会在中心层和边缘层之间部署区域节点,这些节点就是区域层

中心节点和区域节点又叫骨干节点,边缘节点称为 POP 节点。不管是骨干节点还是 POP 节点都是由 Cache 设备和本地负载均衡设备组成

Cache 设备和本地负载均衡有两种组网方式:

  • 穿越方式,即本地负载均衡作为网关,向后端 Cache 设备分发请求,一般使用技术如 LVS,Haproxy,Nginx 反向代理
  • 旁路方式,即本地负载均衡和 Cache 设备平行部署,用户访问到本地负载均衡后,由本地负载均衡通过请求重定向的方式将请求分发到 Cache 设备上

业务视图

从业务架构上,CDN 可以分为网页加速,流媒体加速,文件传输加速和应用协议加速。由于各种业务上有所区分,一般不同业务的加速方案也有所区别

小结

不管从什么视图去划分 CDN,CDN 最核心的部分就是 Cache 和负载均衡。衡量 Cache 的标准,Cache 命中率,Cache 带宽使用率,用户下载速度。衡量负载均衡的标准就是整个 Cache 集群的有效利用率,Cache 故障检测及容错控制


推荐阅读
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 电信网为不能访问联通服务器的网站_老板说网站慢,我们总结了三大阶段提升性能...
    作者:李平来源:https:www.cnblogs.comleefreemanp3998757.html前言在前一篇随笔《大型网站系统架构的演化》中&# ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • 我们知道CDN护航了双11十年,却不知道背后有那么多故事
    2019独角兽企业重金招聘Python工程师标准摘要:一路走来,文景也曾疑惑过:为什么我们不能把活动的时间跨度拉长到3天࿰ ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 深入理解Java虚拟机的并发编程与性能优化
    本文主要介绍了Java内存模型与线程的相关概念,探讨了并发编程在服务端应用中的重要性。同时,介绍了Java语言和虚拟机提供的工具,帮助开发人员处理并发方面的问题,提高程序的并发能力和性能优化。文章指出,充分利用计算机处理器的能力和协调线程之间的并发操作是提高服务端程序性能的关键。 ... [详细]
  • 旁路|发生_Day749.旁路缓存:Redis是如何工作的Redis 核心技术与实战
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Day749.旁路缓存:Redis是如何工作的-Redis核心技术与实战相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 服务器系统更新要多久,系统时间更新服务器是多少,
    系统时间更新服务器是多少,时间器(timeserver)是NTP的一种服务通过它可以使中的机器维持时间同步。目前系统更新Internet时一般都是从以下5个时间服务器 ... [详细]
  • 在单位的一台4cpu的服务器上部署了esxserver,挂载了6个虚拟机,目前运行正常。在安装部署过程中,得到了cnvz.net论坛精华区 ... [详细]
  • 域名解析系统DNS
    文章目录前言一、域名系统概述二、因特网的域名结构三、域名服务器1.根域名服务器2.顶级域名服务器(TLD,top-leveldomain)3.权威(Authoritative)域名 ... [详细]
author-avatar
开发者小白
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有