不用 CDN,希望服务器能 LRU 的 cache 住文件,怎么搞比较好?(k8s 内)

2024-10-16 20:22:54 +08:00
 annoygaga

暂时有一个需求,就是需要 serve 文件,同时希望对于文件做一个 cache ,在 k8s 上,由于一些个别原因用不了 CDN (或者说实际需求比描述的更复杂,CDN 不好上)

现在能想到的就是做一个 LRU cache 服务,cache 到 mem 和本地硬盘,再拿一个文件对象服务做更深度的存储(比如 s3 ,minio )去回源

类似这种需求还有什么更好的办法吗?

PS: 文件非常多,非常杂,大小在 10kb - 3MB 左右,但是请求存在 2/8 定律

2373 次点击
所在节点    Kubernetes
18 条回复
3IOhG7M0knRu5UlC
2024-10-16 20:40:52 +08:00
你可以做一个节点的 cdn
pagxir
2024-10-16 21:02:09 +08:00
fuse+nfs+cachefilesd 自带缓存+回源,但是是不是 lru 就不清楚了
qiusu88
2024-10-16 21:48:13 +08:00
很好奇不能上 CDN 的原因
importmeta
2024-10-16 22:17:10 +08:00
annoygaga
2024-10-16 23:01:31 +08:00
@GooMS 咋搞呢?没怎么搞过
annoygaga
2024-10-16 23:02:14 +08:00
@pagxir 这个是不是本地文件 cache 也行?
annoygaga
2024-10-16 23:02:33 +08:00
@qiusu88 因为业务复杂度,目前没看到合适的 CDN 提供商
annoygaga
2024-10-16 23:03:11 +08:00
@importmeta cache 量比这个大,得借助磁盘的那种,有很多媒体文件(当然都是小文件)
zu1y
2024-10-17 00:18:26 +08:00
直接塞 Redis 里算了。你这每个实例都 cache 相同的数据,加起来的资源消耗肯定比 Redis 更大了
annoygaga
2024-10-17 00:47:42 +08:00
@zu1y 目前是想塞 redis ,但可能所有文件都比 redis 内存大,所以还需要一个存对象的方案,现在想找一个便宜同时快速的对象方案
mytsing520
2024-10-17 01:15:10 +08:00
自建 CDN
billzhuang
2024-10-17 10:06:37 +08:00
如果没有找到合适的 CDN 厂商,大概率是自己实现错了。
joyypjh
2024-10-17 10:09:04 +08:00
nginx 简单的 proxy_cache 不能满足需求吗
birdhk
2024-10-17 10:18:48 +08:00
fluid 呢,缓存文件提供 pvc 挂载
R4rvZ6agNVWr56V0
2024-10-17 15:23:27 +08:00
13 楼提及的。 不行吗?

annoygaga
2024-10-17 15:31:21 +08:00
@billzhuang 讲白了就是自由度很高,接了 CDN 也需要搞不少事情。。。,而且回源速度也是问题
annoygaga
2024-10-17 15:31:37 +08:00
@birdhk 感觉靠谱
annoygaga
2024-10-17 15:32:12 +08:00
@GeekGao 是可以的,但是现在的问题在于需要缓冲的文件太多了,希望尽可能的扩大缓存的量(其实就很像 CDN 了)

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

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

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

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

© 2021 V2EX