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

2023-02-03 23:14:57 +08:00
 Licsber

要存储的是图片文件 大约 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 这样强迫症就舒服了 但是这也太蠢了 笑死

2102 次点击
所在节点    问与答
2 条回复
chrislusf
2023-02-04 01:51:50 +08:00
你可以用 SeaweedFS 建立一个 bucket, 存临时文件,然后删掉这个 bucket.
Licsber
2023-02-04 17:55:14 +08:00
@chrislusf #1 惊现作者 去年加过您微信 也是给的我这个解决方案
但是我在实践中总是因为自己忘了真正释放空间导致服务器存储满了
所以觉得不太优雅 写代码的时候有时候也会忘了自己存在哪个 bucket 了
(删了临时 bucket 底层 idx vif dat 文件的序号一直在增加总觉得奇怪 不连续

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/913041

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX