七牛的文件存储简直是弱智

2017-07-17 16:17:20 +08:00
 whileFalse

覆盖上传文件的新版本之后,下载下来还是旧的。 客服说解决办法只有:

  1. url 带参数
  2. 刷新该文件的缓存(每天限 500 个文件)
  3. 设置某种文件名前缀或者扩展名的缓存过期时间。

简而言之,就是七牛的文件存储和 CDN 是割裂的;文件存储中上传一个文件,CDN 不知道该文件已经更新了。请问七牛的文件存储是外包出去的吗?

试了一下 up 云,上传了新文件之后立马就可以下载到最新版,没有任何问题。

以及,qiniu python SDK 功能各种不全;在线文档各种旧。

6683 次点击
所在节点    问与答
26 条回复
Athrob
2017-07-17 16:34:45 +08:00
真能喷
whileFalse
2017-07-17 16:40:53 +08:00
@Athrob 喷的不对吗?
lxml
2017-07-17 16:48:20 +08:00
阿里云 OSS 也是,CDN 需要手动刷新,或是过期后自动刷新,不立刻更新,可能是处于性能的考虑?
crysislinux
2017-07-17 16:53:01 +08:00
cdn 肯定是异步的啊,本来就不该覆盖以前的文件
Athrob
2017-07-17 16:54:17 +08:00
@whileFalse CDN 是有缓存时间的,强制刷新就是跟客服说的方法差不多。虽然常理上覆盖了旧的就应该去刷新缓存,但按规则刷新这也不能叫弱智吧。
tigerstudent
2017-07-17 16:55:24 +08:00
5#说的应该是对的。
mkeith
2017-07-17 17:01:02 +08:00
LZ 什么都不懂啊
lianz
2017-07-17 17:06:54 +08:00
我看是你弱智。第一次用 CDN ?
whileFalse
2017-07-17 17:08:27 +08:00
@crysislinux 我要是只用他们家 CDN 我根本就不会问出这种问题。我用的是他们家文件存储,结果上传上去下载的还是旧的这能叫文件存储么。

@Athrob 我不满的地方在于:文件存储和 CDN 完全是割裂的。自己提供的服务,搞得跟外包的似的。
如果早知道文件存储和 CDN 割裂,当初就不会用七牛。

毕竟人家 up 云没问题。之前用 up 云用的挺好的,这个项目想着可能图片处理多一些,就用了七牛,没想到这么坑。
whileFalse
2017-07-17 17:09:22 +08:00
@lianz @mkeith 老子用的是文件存储,请看标题谢谢。如果用 CDN 我不会问这个问题谢谢。
jarlyyn
2017-07-17 17:11:54 +08:00
@whileFalse

你取的到底是 cdn 还是文件存储?
tabris17
2017-07-17 17:12:05 +08:00
加个版本参数,CDN 一般都这么处理,没啥好喷的
donlxn22
2017-07-17 17:14:04 +08:00
分布式系统中 CAP 只能取其二,CDN 选择了 AP,对于 C 一致性采用了延迟更新的策略。

一个全球分布的 CDN 具有无数节点,如此多节点在上传新文件之后的更新无疑需要花费一段时间。但花费这段时间之后带来的是性能方面的提高。

如果一个 CDN,能在文件更新之后瞬间提供新文件的下载,这只说明了一件事情,新的文件并没有真正的分布式存储起来。
whileFalse
2017-07-17 17:23:09 +08:00
@donlxn22 我没有要求实时更新,但是七牛的更新完全依赖 CDN 节点缓存过期,有可能长达 30 天。
这就和分布式一致性没有什么关系了。

@jarlyyn 我用的是“对象存储”,也就是文件存储。这个对象存储的下载是走的 CDN。

七牛明明可以选择在上传文件新版的时候主动刷新一下缓存,但是他没做,然后刷新单文件缓存操作每天限制 500 次。
stabc
2017-07-17 17:37:56 +08:00
这个我是比较能理解 LZ 的。
如果商家的 CDN 和文件存储相对独立(像阿里云腾讯云那样),那么这种更新文件后不立即更新 CDN 的现象可以理解。
问题是七牛推出的所谓“融合 CDN ”,带有很强的捆绑特性,甚至你不用 CDN 的话,默认的存储 URL 是有很大访问限制的,这种情况下的确应该在文件更新方面做更好的优化。
bomb77
2017-07-17 17:41:09 +08:00
文件存储竟然还要自己强刷?哈哈哈哈哈哈
newghost
2017-07-17 17:46:01 +08:00
这很正常,所有的 DNS 都需要手动刷,而且还不是立即生效。 各个节点同步需要时间呀。

所以一般都用新的文件名。
ovear
2017-07-17 17:51:34 +08:00
跟我一起念
融合 CDN 融合 CDN 融合 CDN
七牛没有自己的 CDN
ovear
2017-07-17 17:51:49 +08:00
@ovear 噢可能有,但是我没见过。。
likuku
2017-07-17 17:55:56 +08:00
CDN 刷新两个办法:1, TTL 到期 2,使用 CDN 供应商提供的 API/工具 自己主动去 purge. (主流 CDN 做法)

七牛云存储自带 CDN 服务也提供有 purge 功能,七牛云存储文档和 SDK/API 文档 都有 如何 purge CDN 的方法。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/375929

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX