首页 > 其他分享 >架构设计(四):CDN

架构设计(四):CDN

时间:2022-12-16 19:55:06浏览次数:61  
标签:架构设计 缓存 过期 CDN 内容 服务器

架构设计(四):CDN

作者:Grey

原文地址:

博客园:架构设计(四):CDN

CSDN:架构设计(四):CDN

CDN 全称 Content delivery network ,即:内容分发网络。

CDN 是一个地理上分散的服务器网络,主要用于提供静态内容。如:图片、视频、CSS、JavaScript 文件等。

还有一种是动态内容缓存,它可以实现基于请求路径、查询字符串、cookies和请求头的HTML页面的缓存。参考Amazon CloudFront 动态内容分发。本文主要介绍 CDN 技术

当用户访问一个网站时,离用户最近的 CDN 服务器将提供静态内容。也就是说,用户离 CDN 服务器越远,网站的加载速度就越慢。架构如下

img

整个工作流程如下

  • 客户端通过使用一个图像 URL 来获取图片信息。该 URL 的域是由 CDN 提供者提供的。URL 类似如下的形式:https://mysite.cloudfront.net/logo.jpg

  • 如果 CDN 服务器的缓存中没有这张图片,则 CDN 服务器就会从原始服务器中请求该文件。

    • 原始服务器向 CDN 服务器返回该图片,其中包括可选的 HTTP 头 TTL(Time-to-Live),描述图像被缓存多长时间。

    • CDN 缓存图像并将其返回给用户A。图像一直缓存在CDN中,直到 TTL 过期。

  • 另外一个客户端发送请求以获得相同的图像。

  • 只要 TTL 没有过期,图像就会从 CDN 缓存中返回。

使用 CDN 要考虑的因素

  • 成本。CDN 是由第三方供应商运行的,要为进出 CDN 的数据传输付费。缓存不经常使用的内容不会带来明显的好处,还会增加成本,所以,你应该考虑将它们从 CDN 中移出。

  • 设置一个适当的缓存过期时间。对于时间敏感的内容,设置一个缓存过期时间时间是很重要的。缓存过期时间既不能太长也不能太短。如果它是太长,内容可能不再是最新的。如果它太短,它可能会导致重复从原始服务器重新加载内容到 CDN。

  • 考虑你的网站或应用程序如何应对 CDN 故障。如果 CDN 暂时中断,客户应该能够检测到这个问题并从原始服务器请求资源。

  • 如果 CDN 的内容无效了,应该要可以在一个文件过期前从 CDN 中把无效内容删除,有两种删除方式

    • 第一种方式,是使用 CDN 供应商提供的 API 使 CDN 对象失效。
    • 使用版本管理来提供对象的不同版本。可以在 URL 中添加一个参数,比如说版本号,image.png?v=2,当版本号不同的时候,获取的内容也就不一样了。

参考资料

System Design Interview

标签:架构设计,缓存,过期,CDN,内容,服务器
From: https://www.cnblogs.com/greyzeng/p/16988203.html

相关文章

  • 高性能、高流量互联网应用架构设计实战原则
    FreeWheel是由前DoubleClick高管DouglasKnopper,JonHeller和DianeYu于2007年创建,由硅谷顶级的风险投资机构BatteryVentures投资的互联网​​视频​​广告技术服务提......
  • 系统架构设计师考试
    今天,查了分数。结果出乎意料。考后自我感觉这次肯定考不过。自我预测,上午基础知识可以考50分,案例题40分,论文30分。预测结果就是无法通过。真实结果,基础知识40分,案例54分......
  • 架构设计(三):引入缓存
    架构设计(三):引入缓存作者:Grey原文地址:博客园:架构设计(三):引入缓存CSDN:架构设计(三):引入缓存缓存是一个临时存储区域,如果请求的数据获取代价比较高或者数据的访问频率比较高......
  • 5分钟了解系统架构设计(2)
    最近梳理了之前学习的架构设计相关的一些课程学习总结,将其整理成了一个大纲脑图,以每篇5分钟系列展现出来,希望对你有所帮助。本篇,我们聚焦架构设计的理解部分。我们会从本......
  • 分片架构设计技巧
    Es集群设计技巧节点可以配置为不同角色,通过选举master实现集群管理Coordinating:协调节点;Master:管理节点;Data:数据存储节点;数据是按照索引分片的,不是按照节点......
  • 架构设计(二):数据库复制
    架构设计(二):数据库复制作者:Grey原文地址:博客园:架构设计(二):数据库复制CSDN:架构设计(二):数据库复制在架构设计(一):从单服务器模式到负载均衡设计中提到了数据库类型的选择,针......
  • 【系统架构设计师】软考高级职称,一次通过,倾尽所有,【系统架构设计师】备考学习资料
    【系统架构设计师】软考高级职称,一次通过,倾尽所有,看完这篇就够了,学习方法和技巧这里全都有。下文中的网盘连接,可能触发到百度网盘风控规则,导致连接失效,非本人原因,如需要,可以......
  • 软考高级系统架构设计师你想知道的全在这
    2021年准备参加软考获取高级职业技术资格认证的小伙伴咱们约起吧?!今年刚参加完系分考试,不知道有没有通过,但感觉应该差不多,这里给自己点个赞!自软考系列文章发表之后有很多准备......
  • 【分享】小鹅通 pri-cdn-tx.xiaoeknow.com开头的视频下载方法
    <table><tr><tdbgcolor=orange>本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代......
  • 【分享】小鹅通 pri-cdn-tx.xiaoeknow.com开头的视频下载方法
    本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删!小鹅......