• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sxw11
V2EX  ›  程序员

咨询一个上传下载 api 问题

  •  
  •   sxw11 · Mar 20, 2019 · 2837 views
    This topic created in 2636 days ago, the information mentioned may be changed or developed.

    背景:目前有一个上传下载的 api,客户端请求 api,后端从阿里云 OSS 将响应文件下载,然后返回 stream 给客户端

    服务器环境:阿里云 ECS(2 核 4G 1Mbps)

    客户端环境: 网络上下行大概都是 1M/s

    问题:无并发情况下载 4M 图片大概 30 秒左右,20 个并发 几分钟。

    先我跟一下大家,是这种方案有问题还是服务器带宽太小的导致的,业界通用一般用什么方案来搞定这种上传下载,如果不行可能还是得搞成客户端用 OSS SDK 来下载了。

    14 replies    2019-03-20 15:30:24 +08:00
    zhengxiaowai
        1
    zhengxiaowai  
       Mar 20, 2019   ❤️ 1
    本来就是从客户端走的,我下载一个 4G 文件,还不把内存打爆了?
    Sapp
        2
    Sapp  
       Mar 20, 2019   ❤️ 1
    客户端接入 sdk 啊... 怎么能走后端,高并发和大文件传起来你受得了?
    RyanOne
        3
    RyanOne  
       Mar 20, 2019   ❤️ 2
    RyanOne
        4
    RyanOne  
       Mar 20, 2019
    OSS 只需要购买存储空间和下行流量包即可实现降低成本(舍不得带宽的话)
    python35
        5
    python35  
       Mar 20, 2019   ❤️ 1
    1Mbps ==> 服务器的峰值带宽 128KB/s
    服务器端从 OSS 下文件吐给客户端,OSS 的好处不就显示不出来了。
    建议 OSS 设置私有读写,服务器生成一个带 token 的 oss 下载链接,token 的有效时间定个 10 分钟左右,把链接返回客户端,客户端用这个链接直接下文件
    sxw11
        6
    sxw11  
    OP
       Mar 20, 2019
    @zhengxiaowai @Sapp
    刚开始是通过 SDK 来搞这些的,后来因为考虑了权限控制问题,流量问题,还有就是我们这个应用一般没有多大并发,顶多 30 左右,上传的文件单个大小 4M 左右,所以想尝试一下这个方案
    @RyanOne 谢谢,我觉得这种可行
    @python35 嗯嗯 如果我们现在这种方案搞不定,可能就只能通过 STS 授权来搞定了
    fkmc
        7
    fkmc  
       Mar 20, 2019   ❤️ 1
    客户端直接下载 鉴权
    domty
        8
    domty  
       Mar 20, 2019
    阿里云的 ecs 下载阿里云的 oss 的资源可以走阿里云内网
    domty
        9
    domty  
       Mar 20, 2019
    选三方的对象存储,目的就是为了减少存储和带宽的压力吧。
    你这样走三方的上传下载,还不如自己建个文件服务器来的省事。
    至于资源防盗问题,可以考虑对象存储提供的防盗链服务。
    wusatosi
        10
    wusatosi  
       Mar 20, 2019
    直接把 OSS 的访问权限交给用户不就好了,去看看阿里云的 STS......
    gz911122
        11
    gz911122  
       Mar 20, 2019
    不需要 sdk
    上传 服务端下发 token 给客户端,客户端自行上传后将 url 给服务端即可
    下载 客户端自行通过 url 下载
    shakaraka
        12
    shakaraka  
    PRO
       Mar 20, 2019
    有意思么这样?
    lawler
        13
    lawler  
       Mar 20, 2019
    只是图片的话,0 成本图床分发不 ok 吗?
    wongguobin
        14
    wongguobin  
       Mar 20, 2019
    阿里云 OSS 直传了解一下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   919 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 19:14 · PVG 03:14 · LAX 12:14 · JFK 15:14
    ♥ Do have faith in what you're doing.