
暂时有一个需求,就是需要 serve 文件,同时希望对于文件做一个 cache ,在 k8s 上,由于一些个别原因用不了 CDN (或者说实际需求比描述的更复杂,CDN 不好上)
现在能想到的就是做一个 LRU cache 服务,cache 到 mem 和本地硬盘,再拿一个文件对象服务做更深度的存储(比如 s3 ,minio )去回源
类似这种需求还有什么更好的办法吗?
PS: 文件非常多,非常杂,大小在 10kb - 3MB 左右,但是请求存在 2/8 定律
1 3IOhG7M0knRu5UlC 2024-10-16 20:40:52 +08:00 via Android 你可以做一个节点的 cdn |
2 pagxir 2024-10-16 21:02:09 +08:00 via Android fuse+nfs+cachefilesd 自带缓存+回源,但是是不是 lru 就不清楚了 |
3 qiusu88 2024-10-16 21:48:13 +08:00 很好奇不能上 CDN 的原因 |
4 importmeta 2024-10-16 22:17:10 +08:00 |
8 annoygaga OP @importmeta cache 量比这个大,得借助磁盘的那种,有很多媒体文件(当然都是小文件) |
9 zu1y 2024-10-17 00:18:26 +08:00 直接塞 Redis 里算了。你这每个实例都 cache 相同的数据,加起来的资源消耗肯定比 Redis 更大了 |
10 annoygaga OP @zu1y 目前是想塞 redis ,但可能所有文件都比 redis 内存大,所以还需要一个存对象的方案,现在想找一个便宜同时快速的对象方案 |
11 mytsing520 PRO 自建 CDN |
12 billzhuang 2024-10-17 10:06:37 +08:00 如果没有找到合适的 CDN 厂商,大概率是自己实现错了。 |
13 joyypjh 2024-10-17 10:09:04 +08:00 nginx 简单的 proxy_cache 不能满足需求吗 |
14 birdhk 2024-10-17 10:18:48 +08:00 fluid 呢,缓存文件提供 pvc 挂载 |
15 R4rvZ6agNVWr56V0 2024-10-17 15:23:27 +08:00 |
16 annoygaga OP @billzhuang 讲白了就是自由度很高,接了 CDN 也需要搞不少事情。。。,而且回源速度也是问题 |