V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Licsber
V2EX  ›  问与答

自建对象存储有比 Minio 和 SeaweedFS 更好的选择吗?

  •  1
     
  •   Licsber · 2023-02-03 23:14:57 +08:00 · 2033 次点击
    这是一个创建于 665 天前的主题,其中的信息可能已经有所发展或是发生改变。

    要存储的是图片文件 大约 5KB~50MB 之间 数量三十万附近 会慢慢增加

    key 的形式就是%12d.suffix

    选择对象存储的目的是鉴权访问(私有 然后 presign key ) 而不是直接 CDN 的 Public

    不喜欢 Minio 的点是底层按文件组织所有对象(这不就是把文件系统目录提供了 S3 访问方式?)缺点也和文件系统一样 不喜欢分 key 的情况下( key 中不带 / 即不冗余字段 实践中常见用日期或者 key 的前几位冗余 个人觉得这样的 url 不好看 不考虑前置套代理 strip url 的方案)同一目录存储太多文件会有问题

    不喜欢 SeaweedFS 的点在于默认是只写的文件系统 删除后不能立即释放空间(我知道这是为了实现 O ( 1 )访问的妥协 也知道可以通过调用 vaccum 来释放 但是会在 data 目录留下一堆 1 2 3 4 5 6 7 的文件 看起来好不爽)而我有时候需求存一堆临时文件 处理完后再删掉

    所以有没有一种能让我爽的方案 难不成要自己造点轮子(? hhhh

    还有备选方案是外层 Minio 内层套一层 JFS 这样强迫症就舒服了 但是这也太蠢了 笑死

    2 条回复    2023-02-04 17:55:14 +08:00
    chrislusf
        1
    chrislusf  
       2023-02-04 01:51:50 +08:00   ❤️ 1
    你可以用 SeaweedFS 建立一个 bucket, 存临时文件,然后删掉这个 bucket.
    Licsber
        2
    Licsber  
    OP
       2023-02-04 17:55:14 +08:00
    @chrislusf #1 惊现作者 去年加过您微信 也是给的我这个解决方案
    但是我在实践中总是因为自己忘了真正释放空间导致服务器存储满了
    所以觉得不太优雅 写代码的时候有时候也会忘了自己存在哪个 bucket 了
    (删了临时 bucket 底层 idx vif dat 文件的序号一直在增加总觉得奇怪 不连续
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1021 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:32 · PVG 03:32 · LAX 11:32 · JFK 14:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.