hyz23je 2022-07-16 11:48 采纳率: 93.8%
浏览 28
已结题

CDN加速文件下载疑惑

正在开发一个软件(不是网站),最初的方案是使用阿里云OSS当存储用户上传的文件,但OSS的下载流量贵啊,看到有CDN这玩意,所以就想了解一下。

目前场景:
用户可以通过软件上传文件到阿里云OSS,其它用户(几十到上百个用户)就可以通过软件下载这个文件了。走的全都是阿里云的OSS。

所以现在想着能不能使用CDN辅助一下,用户上传文件到OSS上之后,CDN把这个文件缓存起来,其它用户下载的时候,直接走CDN的流量,毕竟CDN流量比OSS流量便宜。

CDN疑惑:
1:因为不是所有的文件都放到CDN里面,所以能不能通过API或是什么设置指定某些文件可以放CDN?
2:如果OSS上的文件删除了,CDN那边能及时删除吗?这个可以通过代码控制吗?
3:这样的设想能不能实现:用户访问CDN,但是CDN上面没有这个文件,然后CDN就去OSS上面找,找到了之后就缓存起来,然后CDN再把文件给请求的用户。这个设想不知道对不对?

题外话:网上很多下载站,他们是不是也是通过CDN这样的方式实现的呢?

  • 写回答

1条回答 默认 最新

  • 林地宁宁 2022-07-16 14:24
    关注
    1. CDN 可以指定对某些目录或者文件后缀名的特定文件进行缓存,自然也可以通过阿里云的 API 来调整需要缓存的内容。
    2. CDN 的刷新不宜过于频繁,你可以通过调用阿里云 API 强制刷新某些资源,但最好的方法是你自己的后端记录一下文件信息和版本信息,或给文件名加个版本号,总之就是要减少 CDN 缓存更新的次数。不过 CDN 可以设置一些文件的 Max-Age,到期了他自己也会删掉。CDN 更加适合静态资源,如果你确实需要放一些动态资源在上面,可以让 CDN 不缓存,这样每次获取的都会是最新的;但是由于流量仍然从 CDN 走,所以 CDN 的流量费还是要出的。
    3. 对,这就是 CDN 的流程,对于没有缓存的文件,CDN 会回源站获取资源,这一步也称作“回源”。回源的时候,CDN 从 OSS 下载的流量不要钱,但是 OSS 却得按正常的流量计费。
      题外话:你基本说的没啥问题,我也只用过浅浅的试过一下 CDN,可能说的也不太对,不足之处建议还是多看看文档罢。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 7月28日
  • 已采纳回答 7月20日
  • 创建了问题 7月16日

悬赏问题

  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示