覆盖上传文件的新版本之后,下载下来还是旧的。 客服说解决办法只有:
简而言之,就是七牛的文件存储和 CDN 是割裂的;文件存储中上传一个文件,CDN 不知道该文件已经更新了。请问七牛的文件存储是外包出去的吗?
试了一下 up 云,上传了新文件之后立马就可以下载到最新版,没有任何问题。
以及,qiniu python SDK 功能各种不全;在线文档各种旧。
1
Athrob 2017-07-17 16:34:45 +08:00 via iPhone
真能喷
|
2
whileFalse OP @Athrob 喷的不对吗?
|
3
lxml 2017-07-17 16:48:20 +08:00 1
阿里云 OSS 也是,CDN 需要手动刷新,或是过期后自动刷新,不立刻更新,可能是处于性能的考虑?
|
4
crysislinux 2017-07-17 16:53:01 +08:00 via Android
cdn 肯定是异步的啊,本来就不该覆盖以前的文件
|
5
Athrob 2017-07-17 16:54:17 +08:00 via iPhone 1
@whileFalse CDN 是有缓存时间的,强制刷新就是跟客服说的方法差不多。虽然常理上覆盖了旧的就应该去刷新缓存,但按规则刷新这也不能叫弱智吧。
|
6
tigerstudent 2017-07-17 16:55:24 +08:00
5#说的应该是对的。
|
7
mkeith 2017-07-17 17:01:02 +08:00
LZ 什么都不懂啊
|
8
lianz 2017-07-17 17:06:54 +08:00 1
我看是你弱智。第一次用 CDN ?
|
9
whileFalse OP @crysislinux 我要是只用他们家 CDN 我根本就不会问出这种问题。我用的是他们家文件存储,结果上传上去下载的还是旧的这能叫文件存储么。
@Athrob 我不满的地方在于:文件存储和 CDN 完全是割裂的。自己提供的服务,搞得跟外包的似的。 如果早知道文件存储和 CDN 割裂,当初就不会用七牛。 毕竟人家 up 云没问题。之前用 up 云用的挺好的,这个项目想着可能图片处理多一些,就用了七牛,没想到这么坑。 |
10
whileFalse OP |
11
jarlyyn 2017-07-17 17:11:54 +08:00
|
12
tabris17 2017-07-17 17:12:05 +08:00
加个版本参数,CDN 一般都这么处理,没啥好喷的
|
13
donlxn22 2017-07-17 17:14:04 +08:00 1
分布式系统中 CAP 只能取其二,CDN 选择了 AP,对于 C 一致性采用了延迟更新的策略。
一个全球分布的 CDN 具有无数节点,如此多节点在上传新文件之后的更新无疑需要花费一段时间。但花费这段时间之后带来的是性能方面的提高。 如果一个 CDN,能在文件更新之后瞬间提供新文件的下载,这只说明了一件事情,新的文件并没有真正的分布式存储起来。 |
14
whileFalse OP |
15
stabc 2017-07-17 17:37:56 +08:00 1
这个我是比较能理解 LZ 的。
如果商家的 CDN 和文件存储相对独立(像阿里云腾讯云那样),那么这种更新文件后不立即更新 CDN 的现象可以理解。 问题是七牛推出的所谓“融合 CDN ”,带有很强的捆绑特性,甚至你不用 CDN 的话,默认的存储 URL 是有很大访问限制的,这种情况下的确应该在文件更新方面做更好的优化。 |
16
bomb77 2017-07-17 17:41:09 +08:00 2
文件存储竟然还要自己强刷?哈哈哈哈哈哈
|
17
newghost 2017-07-17 17:46:01 +08:00
这很正常,所有的 DNS 都需要手动刷,而且还不是立即生效。 各个节点同步需要时间呀。
所以一般都用新的文件名。 |
18
ovear 2017-07-17 17:51:34 +08:00 1
跟我一起念
融合 CDN 融合 CDN 融合 CDN 七牛没有自己的 CDN |
20
likuku 2017-07-17 17:55:56 +08:00 1
CDN 刷新两个办法:1, TTL 到期 2,使用 CDN 供应商提供的 API/工具 自己主动去 purge. (主流 CDN 做法)
七牛云存储自带 CDN 服务也提供有 purge 功能,七牛云存储文档和 SDK/API 文档 都有 如何 purge CDN 的方法。 |
21
whileFalse OP @ovear 你这么一说我忽然理解了……
我也理解为啥 up 云配个 ssl 证书分分钟的事儿,七牛就要最多 24 小时结果 24 小时还没完事了 我也理解为啥七牛没有 http/2 了 我一点都不生气了 只是,下次还是用 up 云好了…… |
22
ovear 2017-07-17 18:11:42 +08:00 1
@whileFalse 偷偷跟你说,七牛有些东西要人工配的。。
|
23
jayin 2017-07-17 18:13:56 +08:00 1
文件存储 不是外包出去的,外包出去的是 CDN (逃
某又拍云商务私底下跟我说的。 |
24
isCyan 2017-07-17 18:18:36 +08:00 via Android 2
其实七牛可以直接访问源站,文档里有源站域名,你的存储空间域名不变,访问的服务器 ip 改成 nb-gate-io-msrc.qiniu.com 的 ip 一般就可以,不限区域,偶然发现的。
xxxx.qiniudns.com 那个 cname 域名前面加上 src. 变成 src.xxxx.qiniudns.com 就是七牛源站。即使是别的区域也有可能源站在华东。 偶然发现的。算是解决办法吧。流量费好像照收,但不是在 cdn 里面,价格大致和国内 cdn 相同。 |
25
noErr 2017-07-17 18:54:12 +08:00
@whileFalse 顶 LZ
|
26
jasonpeng0322 2017-07-17 23:44:51 +08:00
文件名取成文件的 hash 不就解决啦。
|