咨询各位大佬,这样的图片处理服务是否合理,有没有可以改善的地方 - V2EX
请不要在回答技术问题时复制粘贴 AI 生成的内容
caijunduo

咨询各位大佬,这样的图片处理服务是否合理,有没有可以改善的地方

  •  
  •   caijunduo Aug 12, 2024 2524 views
    This topic created in 638 days ago, the information mentioned may be changed or developed.

    目前需求:

    1. 图片处理:一张原始图片会被处理成 n 张图进行分发给用户
    2. API 服务:用户上传后,进行图片处理

    目前考虑的方案:

    1. 图片处理服务:采用腾讯云函数部署,一张原始图片会调用 n 次云函数来处理成不同的图片,通过云函数的并发数量来提高图片处理效率,云函数内网调用 COS 进行上传下载
    2. API 服务:腾讯云函数部署,上传图片后,分发队列任务
    3. 队列服务:腾讯云服务器部署,内网调用图片处理服务

    目前问题的点是:

    1. API 部署到云函数,自定义域名貌似需要 API 网关,域名备案还得在腾讯云
    2. 图片处理服务按照官方文档说明,并发貌似能达到 500/分钟,不清楚比自己部署服务器,会不会划算
    Supplement 1    Aug 12, 2024
    需求补充:
    1. 一张原始图片会经过 n 个用户的信息进行图片处理,产生 n 张图片,所以图片处理和图片数量是指数增长的。
    2. 目前按照已有用户预计,每天需要产生 10w+到 50w+的图片。
    3. 之前因为图片处理效率过低,每小时才处理 100+张图片,成本倒是很低

    目前的难点在:如何提高图片处理效率,并节省成本
    10 replies    2024-08-14 13:11:10 +08:00
    v1
        1
    v1  
       Aug 12, 2024
    图片分发是直接推给用户?建议 api 部分改成 cvm 或者多台轻量负载,处理云函数,推流直接 cos+防盗链+定时删除
    shepherdlazy
        2
    shepherdlazy  
       Aug 12, 2024
    处理很耗时吗?为什么不用户首次获取图片的时候再处理呢?
    不了解你的使用场景哈,只是设想下。
    1. 用户上传到图片存储[原始存储]可以是服务器、目录或存储池。例如 http://example.com/origin/a.jpg
    2. 服务器端用户消息分发,根据不同图片和用户生成不同 URL 推送给用户,例如图片 a ,用户 x ,http://example.com/u/x/a.jpg
    3. 用户收到推送消息,开始下载图片
    3.1 服务器收到图片请求,检查缓存是否存在图片,即是否实际存在 /u/x/a.jpg ,如果不存在,调用图片处理函数或添加到列队生成图片。wait
    3.2 返回用户请求图片
    shepherdlazy
        3
    shepherdlazy  
       Aug 12, 2024
    API 两个:上传图片,处理图片(将处理后图片生成到缓存位置,并返回处理的图片)
    http://example.com/api_v1/image/upload
    http://example.com/api_v1/image/process [内网 API]
    用户请求图片 http://example.com/u/x/a.jpg 时,nginx 确定文件是否存在,如果文件不实际存在时,反向代理到内网的图片处理 API ,并返回结果
    Alan0000
        4
    Alan0000  
       Aug 12, 2024
    需求是不是可以再完善一些,比如原始图片大小、图片是否涉密、上传频率还有开发周期、人力
    Vadden
        5
    Vadden  
       Aug 12, 2024
    成本方面,云函数按照调用次数或者函数运行时间收费,图片处理数量多时,可能成本较高
    caijunduo
        6
    caijunduo  
    OP
       Aug 12, 2024
    @kk2syc 不是推送给用户,算是分配给用户,用户登录后访问下载
    caijunduo
        7
    caijunduo  
    OP
       Aug 12, 2024
    @shepherdlazy #2 还是挺耗时的,一张图处理耗时在 5-10s ,因为涉及多种图片处理策略,而且图片是属于收费项目的,让用户在首次获取图片时再处理体验较差,最终才采用队列提前生成好
    caijunduo
        8
    caijunduo  
    OP
       Aug 12, 2024
    @Alan0000
    1. 原始图片大小基本在 1-10M 左右,因为原始图片是属于收费项目,不好压缩,不然会有损
    2. 图片存在涉密,通过图片加密等处理,生成专属用户的一张图片
    3. 上传频率还好,主要是分发用户多,又要求用户专属,所以分发图片数量会很多,但原始图片不多
    4. 开发周期 3 个月
    5. 人力我自己
    xiaoming1992
        9
    xiaoming1992  
       Aug 12, 2024 via Android
    图片是否支持前端处理呢?如果支持:

    你们这个服务一看就是收费的,给用户提供选择,如果用户同意前端处理,就提示不要关闭网页。然后每个月给他便宜个十块八块的。
    julyclyde
        10
    julyclyde  
       Aug 14, 2024
    1 图片处理服务,云那边不是已经提供了??
    About     Help     Advertise     Blog     API     FAQ     Solana     3347 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 40ms UTC 14:03 PVG 22:03 LAX 07:03 JFK 10:03
    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