如何优雅的把项目 resource 目录配置文件迁移到 minio? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
NASK
V2EX    程序员

如何优雅的把项目 resource 目录配置文件迁移到 minio?

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

    SpringBoot 项目,之前有有一些 zip 包、excel 模板文件保存在了 reasource 目录,现在打算把这这种配置文件迁移到 minio 进行管理。但是项目中有不少方法,传入的参数中用的是 resource 目录的文件路径,这些 resource 路径保存在一个常量类中。万能的 v 友,有什么优雅的方式改造原有的方法吗?

    8 条回复    2025-01-22 16:45:48 +08:00
    ArthurKing
        1
    ArthurKing  
       262 天前   1
    文件上传到 minio ,本地用 s3fs 挂载 minio 相应目录
    xenoblade
        2
    xenoblade  
       262 天前   1
    1. 使用 UrlResource:UrlResource 可以直接下载并加载 http 资源,但是应该是没有缓存能力的,可以扩展 UrlResource 来实现,比对 md5 来判断是否需要下载,从而提升应用的启动速度;
    2. 启动脚本下载资源:在启动脚本中实现资源的下载,将资源文件下载到固定的路径后再启动程序,这么做的好处是不需要修改代码,继续使用 ClassPathResource ,同样需要比对 md5 来判断是否需要下载,从而提升应用的启动速度;
    ChengHaha
        3
    ChengHaha  
       262 天前
    直接建一个本地目录不是更快,这种文件一般也不会去更新吧
    GBdG6clg2Jy17ua5
        4
    GBdG6clg2Jy17ua5  
       262 天前
    移到 mino 的目的是为啥呢?
    XXWHCA
        5
    XXWHCA  
       262 天前
    GLFS 是不是一个解决方案,minio 有点和项目脱节了,已经成了两个服务
    ErnestSu
        6
    ErnestSu  
       262 天前   1
    注意信创不给用
    lucasdev
        7
    lucasdev  
       262 天前
    和楼上说的差不多。

    1. 直接使用 s3fs 挂载到本地,需要考虑每次文件访问可能的网络开销。
    2. 在应用启动时下载到本地,并通过 S3 Event Notifications/定时任务 来监听文件变更,或者提供 API 用于在文件修改后刷新本地文件。
    3. 将读资源的代码封装一下,将原来的从本地读改成从 S3 读,并引入缓存和失效机制。
    NASK
        8
    NASK  
    OP
       262 天前
    @ErnestSu #6 一句话让我放弃 minio
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2737 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 11:32 PVG 19:32 LAX 04:32 JFK 07:32
    Do have faith in what you're doing.
    ubao 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