咨询一个上传下载 api 问题 - V2EX
请不要在回答技术问题时复制粘贴 AI 生成的内容
sxw11

咨询一个上传下载 api 问题

  •  
  •   sxw11 Mar 20, 2019 2816 views
    This topic created in 2626 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     5330 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 56ms UTC 07:20 PVG 15:20 LAX 00:20 JFK 03:20
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86