V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gdcbhtd
V2EX  ›  程序员

请教大家关于阿里 OSS 签名的一些问题,感谢感谢

  •  
  •   gdcbhtd · 2021-11-08 11:14:06 +08:00 · 1387 次点击
    这是一个创建于 893 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目中有视频需要做 OSS 的签名,每次签名当前链接有效期 3 天,每一个视频集里面有大约 1000 条视频,前端每次分页去拿,现在是每晚 12 点去做批量签名,数据量上来后,晚上的批量签名就占满了 CPU 的占用(批量 upd 语句),之前考虑过一种方案是,用的时候再去签名,这样感觉接口上会慢。因为会出现冷门数据和热门数据,新上传的视频是热门,过了 1 个月,就可能是冷门数据了。

    7 条回复    2021-11-12 11:20:22 +08:00
    xwayway
        1
    xwayway  
       2021-11-08 11:16:41 +08:00
    用的时候再去签,你一个视频只用签一次啊。这就像缓存一样,用的时候再去数据库取,没啥问题。
    afirefish
        2
    afirefish  
       2021-11-08 11:19:23 +08:00
    用的时候签,签完签名 url 和时间存数据库。取的时候判断过期,过期了再签。
    Vegetable
        3
    Vegetable  
       2021-11-08 11:22:11 +08:00
    没注意过 presign 引起的性能问题。你这个设计下,12 点相当于一个「雪崩」,所有 URL 在同一时间过期,你完全可以设计成 3 天有效期,随机在 48 ~ 72 小时之间刷新 URL ,避免压力集中在同一个时间。

    也可以直接使用 LRU 缓存+用时签名的策略
    ch2
        4
    ch2  
       2021-11-08 11:56:25 +08:00
    建议用 CDN 签名,别用 OSS 的签名
    georgech
        5
    georgech  
       2021-11-08 15:12:02 +08:00
    最好还是上 CDN ,可以提升文件访问速度,而且每次获取的时候签名也足够了。
    实在不行,就在服务端加一层缓存,缓存过期时间与链接保持一样的过期时间,缓存过期后再重新签名
    IvanLi127
        6
    IvanLi127  
       2021-11-08 23:24:01 +08:00 via Android
    把签名平摊到一整天去,慢慢签不行吗?
    gdcbhtd
        7
    gdcbhtd  
    OP
       2021-11-12 11:20:22 +08:00
    @georgech
    @ch2
    @Vegetable
    @afirefish
    @xwayway
    @IvanLi127
    感谢各位的方案,非常感谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1302 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 17:41 · PVG 01:41 · LAX 10:41 · JFK 13:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.