首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
如果你希望学习 CDN 相关知识,那么建议你可以遍历以下软件的说明文档。
NGINX
cURL
xuancaixiaohai
V2EX  ›  CDN

阿里云 CDN 的大 bug,给用阿里云 CDN 的各位提个醒

  •  
  •   xuancaixiaohai · 74 天前 · 2551 次点击
    这是一个创建于 74 天前的主题,其中的信息可能已经有所发展或是发生改变。

    事情是这样的,最近写了一个小软件,登录的时候会从网站上读取 txt 数据,为了提升用户体验,就给 txt 套上了 cdn

    然而,使用了一段时间之后发现,在阿里云 CDN 控制台 刷新了 URL 之后 部分节点仍然返回给用户旧的缓存文件(返回的数据如果是 gzip 压缩的话,内容就是新的正常的,如果是没有进行压缩过的,内容就是旧的)

    大部分浏览器都是带 gzip 的,对于使用浏览器的用户基本没啥影响

    但是,像楼主这样放在 app、软件里面使用的话,因为一般软件不带 gzip,那影响就大了。

    排查了一个晚上,一直以为是软件没写好导致的问题,最后竟然意外的发现是阿里云的锅

    23 回复  |  直到 2019-11-11 04:11:30 +08:00
    mokeyjay
        1
    mokeyjay   74 天前
    工单客服怎么跟你解释的?
    Athrob
        2
    Athrob   74 天前
    加版本号啊, cdn 都这样, 不可能实时刷新.
    xuancaixiaohai
        3
    xuancaixiaohai   74 天前   ♥ 4
    已提交工单,经过一系列证明,最终,阿里云工程师承认了是阿里云节点刷新策略问题导致的 bug
    顺便吐槽一下阿里云的工程师,也太自大了吧!阿里云稳是没错,但是我把节点 IP,出现问题的情况都描述清清楚楚了,工程师连绑定 hosts 测试一下都懒得测试,就回复工单说没有问题,让我一度怀疑,这是不是阿里云的 bug。
    xuancaixiaohai
        4
    xuancaixiaohai   74 天前
    @mokeyjay 工单一开始我明确提供节点+复现方法给阿里云,但是工程师一直不承认,经过一天的坚持,最终承认是节点刷新策略有问题
    xuancaixiaohai
        5
    xuancaixiaohai   74 天前
    @Athrob 1.中午 12 点左右提交第一次刷新的,中间还刷新了 3 4 次 到晚上凌晨 1 点的时候 节点内容还没变,给十几个小时时间给 CDN 刷新够长了吧。
    2.刚才阿里云已承认问题,而且说是修复了
    Athrob
        6
    Athrob   74 天前
    @xuancaixiaohai #4 被打脸
    Athrob
        7
    Athrob   74 天前
    @xuancaixiaohai #5 嗯嗯, 避免阿里云 cdn 再出什么 bug, 可以对 cdn 访问加上版本号, 这样也不用手动刷新.
    shoaly
        8
    shoaly   74 天前
    最好用还是 用 demo.txt?v=100
    xuancaixiaohai
        9
    xuancaixiaohai   74 天前
    @Athrob 不好加啊 是放在软件里面的 软件成品发布之后就改不了 url 地址了
    xuancaixiaohai
        10
    xuancaixiaohai   74 天前
    @shoaly 成品 app 发布之后咋控制这个 v=100 弄个动态页面控制的话又划不来,那还不如不用 CDN 了 直接源站访问 txt
    弄个静态页面控制 那不一样面临这个问题
    xuancaixiaohai
        11
    xuancaixiaohai   74 天前
    整个事件最气人的就是阿里云工程师的态度了吧,花了几个小时发现是 CDN 的问题,但是在摆明问题、详细说明复现方法的情况下花了一天时间才让他们相信是 CDN 的问题
    akira
        12
    akira   74 天前
    如果你不听 2l 8l 的建议,继续这样使用 cdn,照样会有类似的问题
    xuancaixiaohai
        13
    xuancaixiaohai   74 天前
    @akira 我也想啊 关键是咋控制 ver 啊 app 发布之后不做改动 怎么变 ver 呢( app 版本可能几个月都不更新一次,变化的就是 txt 文本的内容)
    hasdream
        14
    hasdream   74 天前 via Android
    加 不缓存头部信息 txt 后缀默认缓存的
    xuancaixiaohai
        15
    xuancaixiaohai   74 天前
    @hasdream 额 不缓存 txt 文本吗? 但是一般 txt 这种文件都会在 CDN 里面设置成缓存把 所以我特意来 v2 给大家提个醒
    xuancaixiaohai
        16
    xuancaixiaohai   74 天前
    根据阿里云说 这次问题不管带不带 gzip 都会返回旧的 也就是浏览器用户也会受影响
    imnpc
        17
    imnpc   74 天前
    这种应该走单独的非 CDN 通道的 或者自己用策略定时刷新
    我们 APP 里面是访问接口获取版本号的 不会用 txt 静态文件
    xuancaixiaohai
        18
    xuancaixiaohai   74 天前
    @imnpc 文本有 70kb 左右的内容 还有海外用户 加上文本内容半个多月才更新一次 所以就套了 CDN
    用策略定时刷新是什么意思?定时调用阿里云 CDN 的 api 刷新接口刷新吗?
    xuancaixiaohai
        19
    xuancaixiaohai   74 天前
    是刷新策略问题,不是说只有 txt 文件才会受影响,所有被节点缓存的文件,比如 js、css、html 啥的都会受影响,我只是刚好用 txt 发现了
    czb
        20
    czb   74 天前 via Android
    8L 的做法其实算是普遍的实现了
    Nicoco
        21
    Nicoco   74 天前
    套路云也敢用,不被套路个几次都不叫套路云。

    用了套路云,有没有感觉被攻击的次数多了,套路云销售紫椒高防的电话也多了?

    顺便自来水一波良心云。
    Nicoco
        22
    Nicoco   74 天前
    @Nicoco 打错字了,修改后:紫椒 -> 自家
    mingl0280
        23
    mingl0280   74 天前 via Android
    @akira 阿里云有 bug 和客户如何实现特定功能的 bug 可以同时存在,且不能说客户用了 workaround 阿里云就没问题了。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1748 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 31ms · UTC 04:25 · PVG 12:25 · LAX 20:25 · JFK 23:25
    ♥ Do have faith in what you're doing.