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

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


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

homelab 上的目录做一个 webdav 共享

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

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

我曾经试过把公司的邮箱系统这样操作过,就是慢点,然后偶尔需要重启其他都还好
simplove
2023-06-09 14:11:19 +08:00
附件单独存储,像 DZ 论坛那种是支持的,单独搞个域名,在家里开个 FTP 就可以了,把附件全部迁移到家里来
gmlaogong
2023-06-09 16:04:02 +08:00
@simplove 不想暴露家里的地址
Gonlandooo
2023-06-09 16:31:47 +08:00
9 楼思路是正确的,要不你就把云服务器纯做 CDN ,家里提供服务,如果你又想在云服务器提供服务又想用家里的做冷备,你只能自己写代码实现你的冷热分离逻辑
flamiNNgo
2023-06-09 17:02:24 +08:00
nginx 支持文件缓存(没有具体用过,百度了一下,看上去应该可行)
请求 -> 服务器 nginx -> [缓存] -> 家庭
家庭到服务器的请求可以考虑 frp
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
2023-06-09 22:04:56 +08:00
如果服务器在国内,用 @fangpeishi 提供的方案
如果服务器在国外,推荐你花点钱上个大硬盘 vps 提供服务好了,大概一个月 5 刀以内能有 200GB 空间
gmlaogong
2023-06-12 09:33:04 +08:00
@flamiNNgo 我正在研究这个方案,谢谢
gmlaogong
2023-06-12 09:42:43 +08:00
@fangpeishi 谢谢,很有用的参考

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

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

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

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

© 2021 V2EX