总结:公有云产品之CDN

news2024/11/16 9:39:55

一、介绍

由于公司经常提供CDN相关概念,本文特地总结下。

二、产品说明

百度云的内容分发网络CDN是一款基于互联网的分布式服务平台,可以加速网络上的内容分发和传输,提高网络的稳定性和访问速度。

CDN主要通过将网站的静态和动态资源缓存到网络边缘的节点上,以最近的距离、最短的时间、最佳的路线将信息传递给用户,从而提升用户访问的响应速度和体验。

百度云的CDN产品提供以下服务:

  • 内容分发加速服务:通过将网站的静态和动态资源分发到离用户最近的网络边缘节点上进行缓存,提高用户访问速度和响应能力。
  • 解决网络瓶颈:CDN可以通过负载均衡、降噪、优化等技术,解决网络带宽瓶颈、网络拥堵和丢包等问题,提高网络的稳定性和可靠性。
  • 网络安全防护:CDN支持DOS/DDoS攻击防护、Web应用防火墙(WAF)等功能,在保证网络安全的同时,提高网站和应用的可用性。
  • 数据分析服务:CDN提供详细的实时数据统计和分析服务,可以帮助用户了解网站流量、访问热点、用户来源、终端设备等信息,为业务优化提供支持。

总之,百度云的CDN是一款高性能、高可靠性的内容分发网络服务,可以为用户提供快速、安全、可靠的网络访问和服务。

三、CDN服务器和普通的服务器有什么区别?

CDN服务器的主要功能是对用户请求的内容进行分发和缓存,从而提高用户的访问速度和体验。因此,CDN服务器对网卡的性能要求确实比较高。高效的网卡可以让CDN服务器更快地接收和处理用户请求,同时提供更高的网络吞吐量和更低的延迟。

普通服务器则主要是为客户端提供各种服务,例如Web服务器、应用服务器、数据库服务器等等,对CPU和内存的需求较高。CPU主要用于处理各种请求和逻辑计算,而内存则用于缓存和存储临时数据,提高服务器的响应速度和性能。

CDN服务器和普通服务器一样,也需要CPU和内存等硬件资源的支持。如果CDN服务器性能不足,可能会影响其对用户请求的处理速度和效率。因此,在选择CDN服务提供商时,需要考虑到其硬件资源的配置和性能,以确保CDN服务的稳定性和高可用性。

CDN服务器对网卡的性能要求高,而普通服务器主要对CPU和内存的性能要求高,但两者都需要充足的硬件资源,以保证其服务的性能和可靠性。

CDN服务器和普通的服务器的区别主要在于它们的应用场景、工作模式和性能要求等方面。

  • 应用场景不同 普通的服务器通常是用于主机托管、网站、应用程序、数据库等服务的部署和管理,主要提供计算资源和存储资源等功能。而CDN服务器则是专门用于分发静态和动态资源,包括图片、视频、音频、软件等,通过缓存和多节点分发等技术,加速用户对这些资源的访问,提高用户体验。
  • 工作模式不同 普通的服务器通常是按需执行任务,响应用户请求或完成其他应用程序的计算和存储任务。而CDN服务器则是通过大规模的缓存和分发技术,及时地将资源缓存到多个网络边缘节点,以便更快地响应用户请求。
  • 性能要求不同:普通的服务器需要提供高性能的计算和存储能力,以支持大量的业务应用和用户请求。而CDN服务器则需要提供高速、低延迟、高并发的网络访问能力,以便更好地满足用户对资源的访问需求。

综上所述,CDN服务器和普通的服务器的主要区别在于它们的应用场景、工作模式和性能要求等方面。CDN服务器是一种专门用于优化资源分发和用户访问体验的服务器,需要具备高速、低延迟、高并发等特点,以满足不断增长的互联网应用的需求。

四、CDN服务器以及CDN服务器组成的CDN集群与网络,他们会使用特别的软件吗?使用什么软件?

CDN服务器以及CDN服务器组成的CDN集群通常会使用特别设计的软件和算法来实现内容分发和网络加速的功能。

下面是CDN服务器常用的一些软件和技术:

  • Nginx:Nginx是一种高性能的Web服务器,配合CDN软件可以实现静态文件的分发,提高访问速度和可用性。
  • Squid:Squid是一种开源的Web缓存服务器,可以在CDN节点中缓存常用的静态内容,以减少源端服务器的负载和提高用户体验。
  • LVS:LVS(Linux Virtual Server)是一种Linux下的虚拟服务器软件,可以实现TCP和UDP的负载均衡,提高服务的可用性和响应性能。
  • HAProxy:HAProxy是一种高性能的负载均衡软件,支持TCP和HTTP协议的负载均衡,同时可以进行内容分发和健康检查等功能。 =
  • CDNaaS平台:CDNaaS平台是一种云端全球网络加速服务,可以通过智能路由和边缘节点优化站点的内容传输和访问速度,提高全球范围内的用户体验。
  • 总之,CDN服务器和CDN集群是使用特别设计的软件和算法来实现内容分发和网络加速的,其中常用的软件包括Nginx、Squid、LVS和HAProxy等,CDNaaS平台是一种云端的全球网络加速服务。

五、目前使用的CDN

蓝汛(商业CDN)

自有CDN

  • 区分大文件CDN和小文件CDN
  • 区分动态CDN和静态CDN,一般平台使用动态CDN(php...),游戏使用静态CDN(JS...)
  • 回源方式为非推送,回源的最长周期为3个月.

六、使用CDN的目的

使用CDN是为了解决客户端访问源站导致的几个问题:

  • 对源站的大量访问造成源站的访问压力过大
  • 源站对于某些客户端来说物理或网络位置较远,访问网速低下。

七、CDN的原理

  • 将源站的web资源copy到全国各地的CDN站点,使得客户端可以就近访问各地的web站点,提升web资源访问的速度,降低源站的访问压力
  • web资源的copy有"推送"和"非推送"(拉取)两种,可以根据实际情况进行配置
  • CDN一般会定期进行"回源",这里的期限可以进行配置但有最大期限的限制.

八、回源

一般来说,CDN中所说的回源,指的是当用户在请求 CDN 缓存中不存在的资源时,CDN 节点会向源服务器请求该资源的过程。

具体而言,回源就是 CDN 节点向源站服务器发送 HTTP 请求,获取并缓存源站服务器上的资源,然后将该资源缓存到 CDN 边缘节点上,以便后续的访问请求可以更快速地获取响应。

CDN 的整体工作原理是为全球各地的用户提供高速的、可靠的内容分发服务。

当用户请求CDN的内容时,CDN节点会从最近的边缘节点上提供该内容,以确保用户获得最快的响应速度和最佳的用户体验。但是,如果用户请求某个资源的访问量较大,超出了 CDN 边缘节点的容量,CDN 节点会判定缓存不存在该资源,从而进行回源操作,从源站服务器上获取该资源,缓存在 CDN 边缘节点上,从而提高资源的获取速度和缓存命中率。

回源的频率和流量是影响 CDN 成本和性能的关键因素之一。如果 CDN 的回源频率较高,流量也会相应提高,从而增加 CDN 的成本和网络负载,降低 CDN 的性能和可靠性。

因此,为了提高 CDN 的效率和性能,需要根据实际业务需求设置合理的 CDN 缓存策略和回源规则,以确保 CDN 的稳定性和高效性。

九、CDN边缘节点与CDN中心节点的区别

CDN边缘节点和CDN中心节点是CDN架构中两种不同的服务器节点,它们在功能、位置和服务范围等方面存在着一些差别。

  • 功能不同:CDN边缘节点主要负责对用户请求的内容进行缓存和分发,这些节点分布在全球各地,以便为用户提供更加快速和稳定的服务。而CDN中心节点通常是在数据中心或云服务商的机房中,主要用于存储和管理CDN的核心数据和业务逻辑,例如域名解析、资源调度、负载均衡等。
  • 位置不同:CDN边缘节点通常分布在世界各地,以便为用户提供更加快速和稳定的服务,同时也能够减轻源站服务器的负载压力。而CDN中心节点通常设在数据中心或云服务商的机房中,作为CDN的业务集中管理和调度中心。
  • 服务范围不同:CDN边缘节点的服务范围主要是面向最终用户,为用户提供更加快速和稳定的内容分发服务。而CDN中心节点主要是面向CDN服务提供商和源站服务器等,为CDN架构中其他节点提供核心的数据管理、业务调度和负载均衡等服务。

总体上,在CDN架构中,CDN边缘节点和CDN中心节点发挥着不同的作用,它们在内容分发、管理调度和业务服务等领域都起到了至关重要的作用,是构成CDN网络的重要组成部分。

十、CDN加速原理

如上图所示,CDN加速详细步骤如下:

  1. 网站用户查询 my.com 的地址;
  2. 请求权威DNS;
  3. 返回配置的CNAME: my.com.a.bdydns.com
  4. 请求 my.com.a.bdydns.com 对应的IP;
  5. 根据智能调度返回离用户最近的接入点IP;
  6. LocalDNS返回 my.com 的IP地址并缓存;
  7. 向CDN节点发起HTTP/HTTPS请求,访问 my.com 的内容;
  8. CDN 通过百度智能云加速链路,将请求转发至多线中心节点;
  9. 中心节点向源站发起回源请求;
  10. 源站向中心节点返回响应;
  11. 中心节点、边缘节点将响应返回用户,并缓存响应内容。

十一、CDN名词解释

域名:由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置,地理上的域名,指代有行政自主权的一个地方区域)。域名是一个IP地址上有“面具” 。一个域名的目的是便于记忆和沟通的一组服务器的地址(网站,电子邮件,FTP等)。

CNAME域名:在百度智能云CDN接入加速域名后,系统给对应域名分配一个”CNAME域名”,用将加速域名在域名服务提供商处完成CNAME配置指向这个CNAME域名。配置生效后,域名解析的工作就正式转向百度智能云,该域名所有的请求都将转向百度智能云CDN的节点。

CNAME记录:域名解析中的别名记录。用来把一个域名解析到另一个域名,再由另一个域名提供IP地址。CNAME记录允许您将多个名字映射到同一台服务器。例如,您有一台服务器名为“host.mydomain.com”(A记录),您希望用它同时提供WWW和MAIL服务。那么您可以在您的DNS解析服务商为该服务器设置两个别名(CNAME):WWW和MAIL,将这两个别名的全称“www.mydomain.com”和“mail.mydomain.com”都指向“host.mydomain.com”。添加该 CNAME 后,所有访问这两个 CNAME 的请求都会被转到host.mydomain.com。

DNS:Domain Name System,域名系统,因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。

边缘节点:是百度智能云CDN用于缓存客户源站内容以便快速响应不同地域用户请求的网络节点。边缘节点指网络结构中靠近用户的网络节点,对接入用户有相对于源站而言更好的响应能力和连接速度。CDN边缘节点将访问量较大的内容缓存到边缘节点的服务器上,以此来提高网终端用户访问网站内容的速度和质量。

静态内容:指用户多次访问某一资源,不同请求中访问到的数据都是相同的内容。 例如:html、css 和 js 文件、图片、视频、软件安装包、apk 文件、压缩包文件等。

动态内容:指用户多次访问某一资源,响应返回的数据是不相同的内容。 例如:API 接口、.jsp、.asp、.php、.perl 和 .cgi 文件等。

回源 HOST:即回源域名, CDN节点在回源时,在源站访问的站点域名,详情请参见回源配置。 当服务器源站存在多个不同站点时,CDN将根据您的回源HOST域名,决定CDN将从哪一个站点中获取资源。

源站:源站指用户运行业务的网站服务器,是CDN加速分发数据的来源。百度智能云CDN 的源站可以选择自有源站或对象存储(BOS)。

十二、百度云CDN产品功能

CDN提供的服务简单易用,一旦在平台上添加域名及对应的源站地址,将自动提供CNAME域名,用户只需将需要加速的域名与该CNAME地址绑定,即可享受CDN提供的加速服务,让用户的网站实现跨运营商、跨地区服务。

CDN可为用户提供多种功能:

多领域、多业务加速:CDN不仅能为地图、图片、文档在内的静态网页加载提速,也可为音频、下载、游戏等业务提供加速服务,使网站可被高速访问,有效提升网站的用户体验。

统一管理平台

  • 支持加速域名的增、删、改及域名信息的查看。
  • 支持回源地址、防盗链、过期时间、刷新缓存的定制。
  • 支持服务的启动和停止。

资源监控

  • CDN提供域名的资源监控数据报表与曲线图,包括:出口流量、回源流量、命中率、访问次数等指标数据的监控,可随时查看域名的运营状况。
  • 用户可通过资源监控系统为各参数指标创建报警项,当出现报警信息时,系统将自动向用户发送短信或邮件。

日志下载:用户可通过CDN平台,下载业务运营状况日志,有助于用户进一步分析数据或存档。

流量均衡:CDN为接入CDN的服务设置缓存服务器集群,并设有专用流量调配系统,动态为接入CDN的网站选择高性能cache,为网站提供持续稳定的加速服务,即使在访问高峰期,也不会因网络拥塞而影响网站的用户体验。

安全防护

  • 使用CDN服务,网站源站的地址将不会暴露在公网,避免源站遭受意外的攻击。
  • CDN监控系统会随时对服务进行监控并及时提示报警,保证服务的安全。
  • 支持WAF:实现了Referer黑白名单过滤以及源IP黑白名单过滤;CC攻击防御、SQL注入防御、XSS攻击防御、SSRF攻击防御、本地文件调用防御、远程文件调用防御、常见压力测试工具攻击防御、常见扫描器扫描攻击防御、 高危系统命令调用防御;防止SVN,常见备份文件泄露的功能;防止静态文件目录调用可执行文件。

刷新预热:CDN提供缓存刷新和资源预热功能。通过目录刷新/URL刷新,您可以定期清理节点缓存资源,强制CDN节点回源并获取最新文件;通过预热功能您可以在业务高峰期预热热门资源,提高资源访问效率。

图片鉴黄:基于云计算平台,通过对海量数据进行快速扫描,来检测出通过CDN加速的图片是否涉黄,能够帮助您节省90%以上的人力审核成本。

动态加速:典型的网站通常由静态页面和动态页面组合而成,以往的网站加速普遍使用动静分离加速,CDN服务无需动静分离实现整体加速。

EdgeJS边缘脚本:支持在边缘节点执行您自己编写的JavaScript代码,为您提供可编程的自定义边缘配置能力。

十三、应用场景

网站加速

  • CDN提高了用户访问网站页面、图片的速度,完善的监控机制保障网站服务连续稳定,使静态页面访问速度有效提升。
  • CDN无需动静分离即可实现全站整体加速。

超大文件分发

不同粒度文件全国分发加速,解决了在线游戏、音乐、视频、软件等大型文件传输慢及传输不稳定的问题。了解更多存储分发解决方案。

架构示意图:

视频点播

支持在线点播加速业务,如mp4、flv视频文件的点播加速。主要的业务场景是视频点播,建议可以搭配对象存储BOS服务,可提升回源速度,节约近回源带宽成本。

架构示意图:

视频直播

百度智能云视频点播基于大规模实时流媒体计算集群和强大的音视频信号处理算法,结合CDN技术服务深度开发优化,提供"清晰流畅、低时延、高并发"的音视频直播服务。

架构示意图:

十四、节点分布

CDN线路接入电信、联通、移动、广电、铁通、鹏博士、华数、BGP等网络,节点覆盖全国30多个省市,为用户提供可靠的服务。

 

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

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

相关文章

读书笔记-《ON JAVA 中文版》-摘要17[第十七章 文件]

文章目录 第十七章 文件1. 文件和目录路径1.1 选取路径部分片段1.2 路径分析1.3 Paths的增减修改 2. 目录3. 文件系统4. 路径监听5. 文件查找6. 文件读写7. 本章小结 第十七章 文件 在丑陋的 Java I/O 编程方式诞生多年以后,Java终于简化了文件读写的基本操作。 在 …

手机APP测试流程规范模板

一、流程图 二、测试周期 9.25-10.5 1、测试资源 测试任务开始前,检查各项测试资源。 1.1、产品功能需求文档 1)产品原型图 2)产品效果图 3)行为统计分析定义文档 4)测试设备(Android4.1-Android4.…

OWASP 之跨站脚本xss基础技能

OWASP 之跨站脚本xss基础技能 一.XSS概述二.漏洞危害三.XSS漏洞绕过方法1.手工测试XSS步骤2.常见xss3.绕过方法 四.xss防御方法a.CSP内容安全策略b.HttpOnlyc.输入输出检查d.使用防御函数 五.pikachu靶场1.反射型XSS(get)2.反射型XSS(post&am…

PS如何把多张图片拼接到一张?

现在有多张图片如下 ,如何拼接成为1张呢? 打开ps,在ps里面点击文件->自动->联系表。 在弹出来的联系表对话框中,点击选取,选择要拼接的图片。 选择好图片之后,设置宽度高度,宽度的话&…

List Label 28.003 2023 Crack

列表和标签 28.003 在 Web 报表设计器中添加新的图表类型,并支持 Embarcadero RAD Studio 11.3。 6月 16, 2023 - 16:38 新版本 特征 .NET 所有可用的 NuGet 包现在都有一个特殊的企业包和 ID,以确保包都来自一个包源,…

GeneGPT:用领域工具增强大型语言模型,以改善对生物医学信息的访问

文章目录 一、论文关键信息二、主要内容1. Motivations2. 解决方案关键3. 实验和结果 三、总结与讨论 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、论文关键信息 论文标题:GeneGPT: Augmenting Large Language Models with Domain …

代码审计——垂直越权详解

为方便您的阅读,可点击下方蓝色字体,进行跳转↓↓↓ 01 漏洞描述02 审计要点03 漏洞特征04 漏洞案例05 修复方案 01 漏洞描述 垂直越权,也称权限提升,是一种“基于URL的访问控制”设计缺陷引起的漏洞。 由于Web应用程序没有做权…

2023开放原子全球开源峰会——Intel专题探访

浩瀚宇宙,有光,朝着未来之境;万物之始,有道,启示智慧共荣;在多维赋能的时空里,见微知著,开放共享 ,包罗万象;在抵达终点的路途中,彼此陪伴&#x…

《Java核心卷1》怎么样?读1,2章草记 | 第12版

文章目录 《Java核心技术卷 一》第一章 概述第二章 Java编程环境 图书推荐 《Java核心技术卷 一》 第一章 概述 前言:本书与一些”0基础入门“的书定位感觉是不太一样的,可能就像书名所说,是”核心技术“叭。书中经常将Java语言与 c 进行对比…

基于Java电子竞技管理平台设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

详解c++---红黑二叉树的原理和实现

什么是红黑二叉树树 avl树是通过控制平衡因子来控制二叉搜索树的平衡,当某个节点的平衡因子等于2或者-2的话我们就根据他所在的位置来进行旋转,如果这个节点位于右右的话就对其进行向左旋转,如果这个节点位于左左的话就对其进行向右旋转&…

【Android复习笔记】OkHttp核心原理

使用方法 调用流程 0kHttp请求过程中最少只需要接触OkHttpClient、Request、Call、 Response,但是框架内部进行大量的逻辑处理。 所有的逻辑大部分集中在拦截器中,但是在进入拦截器之前还需要依靠分发器来调配请求任务。 分发器:内部维护队列与线程池,完成请求调配;拦截…

chatgpt赋能python:Python中嵌套列表的访问方法

Python中嵌套列表的访问方法 在Python编程中,嵌套列表是一种很常见的数据类型。它可以存储多个列表,使得数据结构更加复杂灵活。然而,如何访问嵌套列表中的元素呢?本文将详细介绍Python中嵌套列表的访问方法。 嵌套列表的定义 …

ch8_2_CPU的指令周期

1.  指令周期 指令周期是指_ CPU从主存取出一条指令, 分析指令,加上执行这条指令的时间。 1.1指令周期 指令周期: 是指cpu,从内存中取出指令,并且执行一条指令所需要的全部时间。 比如 从内存单元中,取出操作数&…

【备战秋招】每日一题:4月29日美团春招第二题:题面+题目思路 + C++/python/js/Go/java带注释

为了更好的阅读体检,为了更好的阅读体检,,可以查看我的算法学习博客第二题-限行 在线评测链接:P1267 题目内容 塔子哥是一个富有的商人,他在一家大型贸易公司工作。他的公司位于城市的中心区,是一座高耸的摩天大楼。…

代码审计——SSRF详解

为方便您的阅读,可点击下方蓝色字体,进行跳转↓↓↓ 01 漏洞描述02 审计要点03 漏洞特征04 漏洞案例05 修复方案 01 漏洞描述 服务端请求伪造攻击(SSRF)也成为跨站点端口攻击,是由于一些应用在向第三方主机请求资源时提…

Linux 学习记录33(网络编程篇)

Linux 学习记录33(网络编程篇) 本文目录 Linux 学习记录33(网络编程篇)一、阻塞IO二、非阻塞IO三、信号驱动IO四、IO多路复用(重点)1. select (TCP服务器)TCP服务器代码TCP客户端代码 2. poll 一、阻塞IO 1. 最常用,最简单,效率最低的. 2. 创建套接字文…

WPF开发txt阅读器11:自定义控件更改音量语速

文章目录 自定义控件控件调用自定义事件更改音量和语速 txt阅读器系列: 需求分析和文件读写目录提取类💎列表控件与目录字体控件绑定💎前景/背景颜色书籍管理系统💎用树形图管理书籍语音播放💎播放进度显示&#x1f4…

【Java】Java核心要点总结 65:TreeSet 两种排序

文章目录 1. Comparable 和 Comparator区别比较2. TreeSet有两种实现指定排序规则的方式: 1. Comparable 和 Comparator区别比较 Comparable 是排序接口,若一个类实现了Comparable接口,就意味着“该类支持排序”。Comparator 是比较器&#x…

使用post请求建立长连接实现sse,接收后端主动发来的消息,实现chat-gpt的弹字效果,EventSource的应用

每日鸡汤:每个你想要学习的瞬间都是未来的你向自己求救 最近在做一个chat相关的功能,然后由于接口返回特别特别慢,所以需要搞一个慢慢等待的效果,就是接口一个单词一个单词的返回,然后前端收到一个展示一个&#xff0c…