租户硬盘配额问题

2020-08-13 14:38:05 +08:00
 pydiff

做 saas 平台,现在接到新需求,给每个租户做硬盘空间配额,比如每个租户只能使用 100G 的空间.在百度跟谷歌搜索过也没有找到有什么好用的工具,现在想到的办法就是用 redis 做减法,感觉好 low,想来问问各位大佬有没有什么好用的框架之类.用 spring cloud,要支持分布式的

2034 次点击
所在节点    Java
4 条回复
lewis89
2020-08-13 15:35:08 +08:00
low 就对了,又不是百度云那种级别,还需要做分区容灾,要做自己的文件系统,外包小项目
ls -lh 遍历一下目录 然后 count 让 redis 去减就好了.
pydiff
2020-08-13 16:40:46 +08:00
忘了说了,我这个是用 fastdfs 的
laminux29
2020-08-13 17:06:05 +08:00
1.统计一个路径下,所有文件的总容量,是一件会给存储设备造成巨大负载的操作。这事连谷歌都没办法做好,谷歌的系统是实时统计,但会卡很久很久。

2.建议用 redis 做加法,也就是存一个文件,就让 [已用容量 += 新文件尺寸] 。

3.做存储,要考虑很多东西,其中比较重要的是,备份与校验。

备份我就不提了,大家都懂。

校验的话,本地在把文件进行上传之前,就要先对文件做一次 hash,上传时,把 hash 也要上传。然后服务器在存取文件时,就可以用这个 hash 值来作为文件校验。
pydiff
2020-08-13 18:16:10 +08:00
@laminux29 现在想到的就是用 redis 每次相减剩余容量或者用已使用量跟总容量对比。其他的备份什么的是运维管的,文件去重也已经有了,所以想看看别人有没有什么更高级的方法

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

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

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

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

© 2021 V2EX