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

购买一台服务器热数据和热附件都存在服务器上,冷的都存在家里的 Homelab(家庭服务器集群)中

  •  
  •   gmlaogong · 2023-06-09 10:32:41 +08:00 · 2616 次点击
    这是一个创建于 540 天前的主题,其中的信息可能已经有所发展或是发生改变。
    购买一台服务器热数据和热附件都存在服务器上,冷的都存在家里的 Homelab (家庭服务器集群)中,这种方案是否可行。
    1 、考虑这种是因为我有个图床服务,提供的是俱乐部的人使用,目前 100GB 的服务器硬盘已经满了,增加硬盘我感觉有点贵
    2 、我家里的 homelab 有 12TB 的存储,目前有 8TB 是空闲的,想利用起来,宽带上行是 100M ,感觉足够了
    3 、有没有什么现成的方案或者是开源工具实现类似于 redis 缓存一样的服务,热数据放到目前线上服务器上,冷数据在 homelab 上。冷数据可以接受访问缓慢,可以在 1 秒内返回就行。
    4 、cdn 现在不考虑添加,因为用不上,我这个服务器是 50M 的带宽,基本上就是俱乐部的人进行访问,也没太大的访问量。主要是看自己上传的图片


    感谢大家,提供附件缓存方案。谢谢大家了
    20 条回复    2023-06-12 09:42:43 +08:00
    retanoj
        1
    retanoj  
       2023-06-09 10:36:20 +08:00
    Nginx ,你觉得呢?
    pota
        2
    pota  
       2023-06-09 10:37:09 +08:00
    写个服务实现回源功能呢?没有的自动同步,然后再单独处理下冷数据的清理
    gmlaogong
        3
    gmlaogong  
    OP
       2023-06-09 10:46:12 +08:00
    @retanoj 能具体说一下 nginx 那个功能么?您说的是代理么?代理不能实时进行热数据好像。(访问一次后就变成热数据,然后 1 天内没访问就删除的功能)
    gmlaogong
        4
    gmlaogong  
    OP
       2023-06-09 10:47:36 +08:00
    @pota 这个之前我使用 php 做过,但是没有实现服务器上冷数据的清理,可是整体效率不是很高。如果有现成方案,我是想用的。
    jioswu
        5
    jioswu  
       2023-06-09 10:59:29 +08:00
    这个感觉就是把服务器当成 CDN 了,没有就回 homelab 去拿,否则就走 cdn 节点返回,纯 NGINX 的话考虑做一个带缓存的反向代理么
    guowq
        6
    guowq  
       2023-06-09 10:59:37 +08:00
    买个 1 年十几刀的美西 vps ,把旧数据放那边
    gmlaogong
        7
    gmlaogong  
    OP
       2023-06-09 11:07:40 +08:00
    @jioswu 是的说白了,就是个 cdn ,nginx 可以实现么?
    gmlaogong
        8
    gmlaogong  
    OP
       2023-06-09 11:08:32 +08:00
    @guowq 硬盘很大么?能放个连接么
    goodryb
        9
    goodryb  
       2023-06-09 11:25:54 +08:00
    Nginx 是有文件缓存功能的,按照你这种用法, 图片可以全部放在 homelab 里面,搭建一个源站,服务器上使用 Nginx 做缓存即可。前置依赖是你要打通 homelab 和服务器的网络
    DAMNCRAB
        10
    DAMNCRAB  
       2023-06-09 11:45:51 +08:00
    不知道这个能不能满足需求 https://goedge.cn/
    mcfog
        11
    mcfog  
       2023-06-09 11:56:09 +08:00 via Android
    squid 或者 varnish
    xiaoyuesanshui
        12
    xiaoyuesanshui  
       2023-06-09 12:46:06 +08:00
    我有一个相似的方案,可能不一定适合,供参考

    homelab 上的目录做一个 webdav 共享

    服务器上用 rclone mount 这个 webdav 到服务器本地。
    图片原文件移到这个 webdav 目录下

    这样其实是将数据和服务分开了,如果 homelab 的网络稳定,其实没啥问题

    我曾经试过把公司的邮箱系统这样操作过,就是慢点,然后偶尔需要重启其他都还好
    simplove
        13
    simplove  
       2023-06-09 14:11:19 +08:00
    附件单独存储,像 DZ 论坛那种是支持的,单独搞个域名,在家里开个 FTP 就可以了,把附件全部迁移到家里来
    gmlaogong
        14
    gmlaogong  
    OP
       2023-06-09 16:04:02 +08:00
    @simplove 不想暴露家里的地址
    Gonlandooo
        15
    Gonlandooo  
       2023-06-09 16:31:47 +08:00
    9 楼思路是正确的,要不你就把云服务器纯做 CDN ,家里提供服务,如果你又想在云服务器提供服务又想用家里的做冷备,你只能自己写代码实现你的冷热分离逻辑
    flamiNNgo
        16
    flamiNNgo  
       2023-06-09 17:02:24 +08:00
    nginx 支持文件缓存(没有具体用过,百度了一下,看上去应该可行)
    请求 -> 服务器 nginx -> [缓存] -> 家庭
    家庭到服务器的请求可以考虑 frp
    fangpeishi
        17
    fangpeishi  
       2023-06-09 18:50:27 +08:00
    frp 或者 tailscale 打通,nginx proxy_cache ,想要的自动清理缓存指定下 inactive ,更多参数看 nginx 文档: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache
    aru
        18
    aru  
       2023-06-09 22:04:56 +08:00
    如果服务器在国内,用 @fangpeishi 提供的方案
    如果服务器在国外,推荐你花点钱上个大硬盘 vps 提供服务好了,大概一个月 5 刀以内能有 200GB 空间
    gmlaogong
        19
    gmlaogong  
    OP
       2023-06-12 09:33:04 +08:00
    @flamiNNgo 我正在研究这个方案,谢谢
    gmlaogong
        20
    gmlaogong  
    OP
       2023-06-12 09:42:43 +08:00
    @fangpeishi 谢谢,很有用的参考
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1035 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:08 · PVG 03:08 · LAX 11:08 · JFK 14:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.