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

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

  •  1
     
  •   annoygaga · 35 天前 · 1626 次点击
    这是一个创建于 35 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    annoygaga
        16
    annoygaga  
    OP
       35 天前
    @billzhuang 讲白了就是自由度很高,接了 CDN 也需要搞不少事情。。。,而且回源速度也是问题
    annoygaga
        17
    annoygaga  
    OP
       35 天前
    @birdhk 感觉靠谱
    annoygaga
        18
    annoygaga  
    OP
       35 天前
    @GeekGao 是可以的,但是现在的问题在于需要缓冲的文件太多了,希望尽可能的扩大缓存的量(其实就很像 CDN 了)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5371 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 08:47 · PVG 16:47 · LAX 00:47 · JFK 03:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.