内容分发网络(CDN)学习记录

news2024/12/24 13:47:05

目录

    • 静态内容
    • 动态内容
    • CDN工作原理
      • CDN缓存
    • CDN关键技术
      • 1.内容路由功能
      • 2.内容分发技术:内容分发技术主要是PUSH和PULL
      • 3.内容存储技术
      • 4.内容管理技术
    • 全局负载均衡
      • 基于DNS的GSLB
      • 基于HTTP重定向的GSLB
      • 基于IP欺骗的GSLB
      • 服务器群选择策略


静态内容

静态内容是不会因用户而异的网站数据。网站标题图像、徽标和字体样式对于所有用户都保持不变,并且企业不会经常更改它们。静态数据无需修改、处理或生成,非常适合存储在 CDN 上。


动态内容

诸如社交媒体新闻推送、天气报告、登录状态和聊天消息等动态内容因网站用户而异。这些数据会根据用户的位置、登录时间或用户首选项而变化,并且网站必须为每个用户和每次用户交互生成数据。


CDN工作原理

CDN通过在多个地理位置建立入网点(PoP)或一组CDN边缘服务器来工作

CDN缓存

CDN缓存指的是在CDN边缘服务器缓存数据副本以加快数据访问的过程,缓存的工作原理如下:

  1. 来自偏远地理位置的网站访客首次请求静态 Web 内容。
  2. 请求到达Web 应用程序服务器或原始服务器。原始服务器将响应发送给远程访客。同时,它还将响应的副本发送到与该访客地理上最近的 CDN POP。
  3. CDN POP 服务器将副本存储为缓存文件。
  4. 下次该访客或该位置的任何其他访客发出相同的请求时,将由缓存服务器而不是原始服务器发送响应。

CDN关键技术

最简单的CDN网络有一个负责全局负载均衡的DNS各节点一台Cache,即可运行。DNS支持根据用户源IP地址解析不同的CDN服务器IP,实现就近访问。为了保证高可用性等,需要监视各节点的流量、健康状况等。一个节点的单台Cache承载数量不够时,才需要多台Cache,多台Cache同时工作,才需要负载均衡器,使Cache群协同工作。

全局负载均衡DNS通过一组预先定义好的策略,将当时最接近用户的节点地址提供给用户,使用户能够得到快速的服务。同时,它还与分布在世界各地的所有CDNC节点保持通信,搜集各节点的通信状态 ,确保不将用户的请求分配到不可用的CDN节点上,实际上是通过DNS做全局负载均衡

1.内容路由功能

  • CDN的负载均衡系统实现CDN的内容路由功能。CDN内容路由功能作用使用户请求到达CDN网络中的最佳节点。可以分为两个层次:
    • 全局负载均衡(GSLB):主要目的是在整个网络范围内让用户的请求到达CDN网络中最近的节点 根据什么算法?
    • 本地负载均衡(SLB):在特定的范围内寻找一台合适的节点提供服务(要考虑到节点的健康性、负载情况、支持的媒体格式等运行状态) 根据什么算法?
  • 负载均衡可以通过多种方法实现,主要的方法包括DNS、应用层重定向、传输层重定向等等。

2.内容分发技术:内容分发技术主要是PUSH和PULL

  • PUSH是一种主动分发的技术。通常,PUSH由内容管理系统发起,将内容从源或者中心媒体资源库分发到各边缘的Cache节点。分发的协议可以采用 HTTP/FTP等。通过PUSH分发的内容一般是比较热点的内容,这些内容通过PUSH方式预分发(Preload)到边缘Cache,可以实现有针对的内容提供。对于PUSH分发需要考虑的主要问题是分发策略,即在什么时候分发什么内容。一般来说,内容分发可以由CP(内容提供商)或者CDN内容管理员人工确定,也可以通过智能的方式决定,即所谓的智能分发。它根据用户访问的统计信息,以及预定义的内容分发的规则,确定内容分发的过程。
  • PULL是一种被动的分发技术,PULL分发通常由用户请求驱动。当用户请求的内容在本地的边缘Cache上不存在(未命中)时,Cache启动PULL方法从内容源或者其他CDN节点实时获取内容。在PULL方式下,内容的分发是按需的。

3.内容存储技术

  • 内容源的存储
    • 由于内容的规模比较大(通常可以达到几个甚至几十个TB),而且内容的吞吐量较大,因此,通常采用海量存储架构。如NAS和SON.)
  • 在Cache节点中的存储要考虑:
    • 功能上,①对各种内容格式的支持,多种内容格式的支持要求存储系统根据不同文件格式的读写特点进行优化 ,以提高文件内容读写的效率,特别是对流媒体文件的读写;②对部分缓存的支持,部分缓存能力指流媒体内容可以以不完整的方式存储和读取。部分缓存的需求来自用户访问行为的随机性,因为许多用户并不会完整地收看整个流媒体节目,事实上,许多用户访问单个流媒体节目的时间不超过10分钟。因此,部分缓存能力能够大大提高存储空间的利用率,并有效地提高用户请求的响应时间。但是部分缓存可能导致内容出现碎片问题,需要进行良好的设计和控制。模型部分缓存?
    • 性能上,容量大小,吞吐率、可靠性及稳定性

4.内容管理技术

本地内容管理,主要针对一个CDN节点(由多个CDN Cache设备和一个SLB设备构成,类似于多个边缘服务器,一个控制器)进行,目标是提高内容服务的效率,提高本地节点的存储利用率。

  • 本地内容索引是实现基于内容感知调度的关键,包括每个Cache设备上内容的名称、URL、更新时间、内容信息等。模型标识
  • 本地内容的复制。通常为了提高存储的效率,同一个内容只在某个特定的节点中存储一份,当对该内容的访问超过这个节点的能力范围,就将该内容进行分发到其他节点上。模型先缓存在一个边缘,当超过该边缘能力范围时,将模型分发到其他节点?
  • 本地内容访问状态的收集。搜集各个节点上各个内容访问的统计信息,节点可用服务能力及内容变化的情况 模型请求信息

全局负载均衡

对于全局负载均衡而言,其核心就是服务器群的选择。对于某个特定的客户,应该将其定向到哪一个服务群?应该使用什么标准来进行这种选择?一般情况下,主要考虑两个因素:临近程度负载大小

临近机制主要考察服务器群与用户之间的物理距离。选择地理位置最接近用户的服务器集群,可以减少服务响应到达用户所经过的中转次数,从而降低中转节点对服务质量的影响。常见的有两种方式,一种是静态配置,例如根据静态的IP地址配置表进行IP地址到服务器群的映射。另一种方式是动态的检测,例如实时地探测到目标IP的距离(可以采用到达目标IP经过的跳数作为度量单位),然后比较探测结果进行选择。

负载机制比较各个服务器群的负载,确定由哪一个服务器群来响应请求。需要考虑站点的最大连接数、站点的平均响应时间、服务质量等。

常见的GSLB实现方式有三种:DNS轮询、HTTP重定向、IP欺骗(又称三角传输)。

基于DNS的GSLB

用户访问某个网站时,需要首先通过域名解析服务(DNS)获得网站的IP。域名解析通常不是一次性完成的,常常需要查询若干不同的域名服务器才能找到对应的IP。如下图所示,用户首先在本地配置一个本地DNS服务器地址,本地DNS服务器收到DNS请求后若不能解析,会将请求转发给更高一级的DNS服务器直到找到域名对应的IP或确定域名不存在。
在这里插入图片描述
对于加入了GSLB的情况,一个GSLB设备(可能是一个4层交换机)会最终代替DNS服务器完成域名解析。下图展示两种流程的不同:
在这里插入图片描述
基于DNS的GSLB优缺点
优点是:实现简单、实施容易、成本低。

缺点是:当GSLB设备采用“用户就近访问”的原则作为选择最优服务器的策略时,会存在判断不准的现象。原因是在这种策略下,GSLB设备是根据用户IP地址和内容服务器IP地址比较来判断其就近性的,但由于DNS响应是通过本地DNS服务器到达用户的,GSLB设备实际上只能得到用户的本地DNS服务器地址,若用户指定的DNS服务器IP不能正确代表用户的实际位置,就会出现判断不准的现象。

一句话总结:基于DNS的GSLB只能测量用户本地DNS服务器和CDN服务器之间的距离

基于HTTP重定向的GSLB

为了解决基于DNS实现方式判断不准的问题,又出现了基于HTTP重定向的GSLB。这种方案中GSLB使用HTTP重定向技术,将用户访问重定向到最合适的服务器上。
在这里插入图片描述使用基于HTTP重定向方案,首先在DNS中将GSLB设备的IP地址登记为域名的A记录(既域名对应的IP)。如上图所示,用户首先通过DNS得到GSLB设备的IP地址,此时用户以为这就是站点服务器的IP,并向其发送HTTP请求。GSLB设备收到HTTP请求后使用一定策略选择一个最合适的服务器,然后GSLB设备向用户发送一个HTTP重定向指令(HTTP302),并附上选出的服务器的IP地址。最后,用户根据重定向IP访问站点的服务器。

基于HTTP重定向的GSLB优缺点
优点:由于直接向用户发送HTTP重定向指令,可以得到用户的真实IP,从而解决了判断不准确的问题。

缺点是只能为HTTP访问重定向。

一句话总结:基于HTTP重定向的GSLB可以得到用户的真实IP,但是只能为HTTP访问重定向

基于IP欺骗的GSLB

HTTP重定向方案解决了判断不准确的问题,但只能针对HTTP协议应用使用。对于HTTP协议以外的访问,就需要使用基于IP欺骗(又称三角传输)的GSLB。
在这里插入图片描述
基于IP欺骗的方案同样需要首先将GSLB设备的IP地址在DNS中登记为域名的A记录,这样用户对该域名的请求包都会先发送到GSLB设备。如上图所示,GSLB设备首次收到服务请求包后,会选择一个最合适的服务器,并将服务请求包发送到该服务器。服务器在向用户发送响应包时,将其源IP地址字段改为GSLB设备的IP,发送给用户。

这样,整个过程对用户来说,感觉到的只是GSLB设备在为其提供服务,并不知道其中经历这样一个三角传输的过程。而且这种方案可以对所有类型的访问如HTTP、FTP等进行重定向,但其速度和效率相对比前两种方案要差一点,因为用户所有的访问请求都通过三个点才能响应,经历了更多的路径和处理,所以其主要作为HTTP重定向方案的补充方案在同一GSLB设备中实现。

服务器群选择策略

上文中介绍的三种方案,解决了如何将用户引导到指定服务器群的问题,而在此之前首先需要使用某种方式选出最适合用户的服务器群,也就是GSLB在选择服务器群时所采用的策略。接下来介绍一些常用的GSLB策略。

  • 1)地理区域或用户自定义区域:将若干条IP地址前缀划分一个区域为。根据用户本地DNS的IP地址,将特定IP范围的用户优先分配到某个通过健康检查的站点。

  • 2)IP地址权重:可以为DNS应答中的每个IP地址分配权重,权重决定与其他候选IP相比分配到该IP的流量比例。

  • 3)往返时间(Round Trip Time, RTT):RTT策略是基于区域之外最常用的策略。有两种模式的RTT测量:Active RTT测量与Passive RTT测量。在实际部署中,由于网络限制和性能原因,Active RTT往往无法使用,Passive RTT更实用一些。

    a) Active RTT 测量:
    当GSLB Controller收到来自LDNS(本地DNS服务器)的DNS请求时,GSLB Controller会通知所有站点负载均衡设备对该LDNS进行RTT测量。根据采集到的RTT值,GSLB Controller会选择RTT值最小的站点的VIP返回给LDNS。
    由于Active RTT采用DNS Query或ICMP进行RTT测量,在有些网络中可能会被安全策略所过滤而无法工作。
    Active RTT测量会产生额外的DNS Query或ICMP流量,在有些网络中用户不希望有太多类似的非用户流量。

    b) Passive RTT测量:
    Passive RTT测量指从内容站点收到一个用户发出连接请求(发送TCN SYN)到接收到用户的确认(收到TCP ACK)所经历的时间。而不是简单的PING的响应时间,可以更精确的衡量访问最快的站点。
    Passive RTT测量不会主动去进行测量,也不会产生额外的数据流量,而是在用户向返回的VIP建立连接时进行采集。
    Passive RTT的测量值真正反映了用户的上网感受,在运营商网络中也不会产生额外流量。也不会受到其他运营商或网络的安全策略的影响。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1884992.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

隐私计算实训营第二期第七课:XGB算法与SGB算法开发实践

隐私计算实训营第二期-第七课 第七课:XGB算法与SGB算法开发实践1 决策树模型1.1 决策树的训练和预测过程1.2 决策树的发展过程 2 GBDT模型2.1 Boosting核心思想2.2 GBDT原理 3 XGB模型3.1 XGB核心思想3.2 XGB优点 3 隐语纵向树模型3.1 数据纵向分割3.2 隐私保护的树…

学习笔记——动态路由——IS-IS中间系统到中间系统(背景)

一、IS-IS技术背景 1、前言 IS-IS最初是国际标准化组织ISO(the International Organization for Standardization)为它的无连接网络协议CLNP(ConnectionLess Network Protocol)设计的一种动态路由协议。 和OSPF一样,IS-IS也是一种基于链路状态并使用最短路径优先…

医疗器械FDA认证中,如何准备SBOM文件?

在医疗器械FDA认证过程中,准备SBOM(软件物料清单)文件是确保医疗器械软件部分符合FDA要求的关键步骤。以下是准备SBOM文件的清晰指南: 一、了解SBOM文件的目的和重要性 SBOM文件用于详细列出医疗器械所使用的所有软件组件、版本…

程序员节视频创意盛宴,邀您共赴创意之旅!

🌟 程序员节专属创意大赛震撼启幕! 🎉 亲爱的程序员及编程爱好者们,是时候拿起你们的镜头,捕捉那些日常中闪光的编程瞬间,向世界展示代码编织的奇迹与无限创意了!💻✨ &#x1f3c…

惠海 H6900B 2.7V3.7V4.2V5V9V升12V24V48VLED升压恒流芯片IC

惠海H6900B LED升压恒流芯片IC是一款功能丰富的LED驱动解决方案,为高亮度LED灯串设计。以下是针对该产品的进一步分析和解释: 产品特点 高效率:高达95%以上的效率意味着在驱动LED时,只有很少的能量转化为热量,从而提…

【Kaggle】Telco Customer Churn 数据编码与模型训练

💬在上一部分中,我们已经完成了对数据集背景解读、数据预处理与探索性分析。在数据背景解读中,我们介绍了数据集来源、电信用户流失分析的基本业务背景,并详细解释了每个字段的基本含义;在数据预处理过程中&#xff0c…

全国WMS厂商大盘点,哪家未来能杀出重围?

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》人俱乐部 一、引言 随着物流行业的快速发展,仓储管理作为其重要的一环,正逐步受到越来越多企业的重视。当前,市…

可燃气体报警器检测标准对比:不同标准的优缺点分析

在工业生产及家庭生活中,可燃气体报警器发挥着至关重要的作用。它能够实时监测空气中可燃气体浓度,一旦超过安全阈值,便会发出警报,避免火灾和爆炸事故的发生。 接下来,佰德将重点探讨可燃气体报警器的检测标准&#…

三层交换基础

一、什么是三层交换 三层交换是一种在OSI模型第三层,即网络层上工作的网络设备技术,它整合了二层交换机的功能和路由器的部分功能,以实现更高效的网络数据转发和路由选择。三层交换技术的核心在于结合了二层交换技术和三层转发技术&#xff…

Java服务器代码远程调试(IDEA版)

Java服务器代码远程调试 配置启动脚本参数配置IDEA远程调试工具操作步骤 注意:远程调试的代码需要与本地代码一致,远程调试目的是解决本地环境无法支持调试的情况下,解决线上(测试)环境调试问题。 配置启动脚本参数 n…

Java Lambda语法介绍

目录 一、概述 二、Lambda语法的历史 2.1 Lambda名字的含义 2.2 Lambda的历史 三、Lambda语法的核心接口 3.1 Lambda的四大核心接口 3.1.1 概述 3.1.2 Consumer 接口 3.1.3 Supplier 接口 3.1.4 Function 接口,> 3.1.5 Predicate 接口 四、Lambda的引用 4.1 概…

统计鸟:小而美的网站流量统计工具,免费好用

目前常见的网站流量统计平台有百度统计、Google Analytics、51.LA、友盟等,但Google Analytics在国内打不开、友盟已收费、百度统计限制较多、51.LA也很可能走向收费,无奈的我总算在网上搜到一款小众而好用的网站流量统计工具——统计鸟,现给…

探索Toshiba东芝TLP265J光耦合器

在当今的电子元件市场中,寻找高质量和高可靠性的光耦合器解决方案对许多工程师和设计师来说至关重要。TLP265J这款产品在性能、安全性和可靠性方面均表现卓越,适用于多种工业和商业应用。本文将深入探讨TLP265J的特点、应用领域以及其技术优势&#xff0…

探索PcapPlusPlus开源库:网络数据包处理与性能优化

文章目录 0. 本文概要1. PcapPlusPlus介绍1.1 概述1.2主要特性和功能1.3 PcapPlusPlus 主要模块关系和依赖1.4 网络协议层处理过程 2. 实例2.1 基于 PcapPlusPlus 的应用程序设计和封装流程:2.2 多线程示例代码2.3 代码说明: 3. 程序性能进一步优化3.1 避…

基于人脸识别的考勤系统(Qt+opencv+Arm)测试报告

目录 1、项目描述 2、服务器端测试 2.1、注册人脸 A、填写基本信息 B、点击打开摄像头采集信息 C、点击拍照,提示数据库保存人脸信息成功 D、点击注册,提示注册成功 至此,服务器启动测试完毕 3、客户端测试 3.1、人脸验证测试 3.2、服务器端点…

2024 年江西省研究生数学建模竞赛A题:交通信号灯管理问题分析、实现代码及参考论文

2024 年江西省研究生数学建模竞赛题目交通信号灯管理 1 题目 交通信号灯是指挥车辆通行的重要标志,由红灯、绿灯、 黄灯组成。红灯停、绿灯行,而黄灯则起到警示作用。交通 信号灯分为机动车信号灯、非机动车信号灯、人行横道信号 灯、方向指示灯等。 一…

生产环境 CentOS 7 k8s v1.28.0离线部署

背景描述:CentOS 7 Kubernetes 离线部署 随着云计算和微服务架构的普及,Kubernetes(K8s)已经成为容器编排的标准工具。它能够自动化应用的部署、扩展和管理,使得开发和运维的工作更加高效和可靠。然而,在一…

(亲测有效)2024代替电视家的app,电视家停了还有什么软件可以看电视?

嘿,大家好,我是阿星,今天又来跟大家聊聊那些让人眼前一亮的电视直播软件。咱们这回不聊那些老掉牙的,来点新鲜的,让咱们的电视屏幕也能跟上潮流,享受一下科技带来的便利和乐趣。 首先,得提一提…

【Sklearn-驯化】一文分析教你如何使用k-means进行数据聚类

【Sklearn-驯化】一文分析教你如何使用k-means进行数据聚类 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 免费获取相关内容文档关注&#…

工业读码器与商用扫码器的区别

条码二维码在数字信息化应用越来越广泛,扫码器成为了数据收集和处理的重要工具,无论是工厂生产和物流包裹朔源追踪,还是商场超市扫码收银和餐饮娱乐等场景,均能看到扫码器的辅助,市场上的扫码器种类繁多,在…