V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pydiff
V2EX  ›  Java

租户硬盘配额问题

  •  
  •   pydiff · 2020-08-13 14:38:05 +08:00 · 2111 次点击
    这是一个创建于 1581 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    校验的话,本地在把文件进行上传之前,就要先对文件做一次 hash,上传时,把 hash 也要上传。然后服务器在存取文件时,就可以用这个 hash 值来作为文件校验。
    pydiff
        4
    pydiff  
    OP
       2020-08-13 18:16:10 +08:00
    @laminux29 现在想到的就是用 redis 每次相减剩余容量或者用已使用量跟总容量对比。其他的备份什么的是运维管的,文件去重也已经有了,所以想看看别人有没有什么更高级的方法
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2850 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 12:53 · PVG 20:53 · LAX 04:53 · JFK 07:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.