V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
fotile96
V2EX  ›  分享创造

一个非典型公益图床项目

  •  
  •   fotile96 · 2019-12-14 16:07:00 +08:00 · 4709 次点击
    这是一个创建于 1806 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://p.sda1.dev

    上周听说 sm.ms 推出了付费服务,不禁想到了一个问题,如果我们只有每月几刀的很低的预算,并且希望用它支持一个图床项目,我们究竟能保证多高的可用性和存续性。租单个便宜 vps 实在太脆弱,如果基于这两年几个云服务商巨头都在大力吆喝的"Serverless"服务来构筑这个项目,会怎么样呢?

    花了三四天时间把想法实现了一下,看起来已经没有太明显的问题了。它的特点有:

    • 最底下用大家相对来说已经摸清脾气的大容量网盘存储。具体来说用的是 Google Drive,所有数据都加密后存储在 gd,并且不使用外链等可能触碰 gd 神经的操作。所有图片数据和 metadata 可以容易地全站备份(放到其他 gd 账号或者别家网盘)。
    • 找一家比较靠谱的 FaaS 服务商,在上面实现一套图床的基本 api。这里选择的是付费版(月付 5usd )的 Cloudflare workers,主要的原因是流量不计费,并且有比较充裕的 key-value 存储 quota,此外可以操作 cf 本身的 CDN cache,合起来可以实现令人满意的 cache,避免掉绝大多数回源的 gd api 操作。即使要回源,也只需要一次 gd api 操作就可以取到图片。墙外访问不太感知得出回源带来的延迟。
    • web 前端比较简单(其实是直接抄的 sm.ms )。所有静态资源放在 github pages。

    这个方案最大的风险可能还是在于如果完全放置,被用来外链一些敏感内容的话,有整个域名被墙掉的风险。除开这一点,永久储存所有图片,在这样的月供下至少运行个三五年看起来不是什么天方夜谭..

    3M 测试图

    11 条回复    2019-12-19 19:56:39 +08:00
    wudaonongjian
        1
    wudaonongjian  
       2019-12-14 16:49:14 +08:00
    速度挺快
    zjsxwc
        2
    zjsxwc  
       2019-12-14 16:56:01 +08:00   ❤️ 1
    可以把图片放到微博、知乎等服务器,然后反向代理获取图片,逃
    baox2
        3
    baox2  
       2019-12-14 18:09:19 +08:00
    hinate
        4
    hinate  
       2019-12-14 20:00:51 +08:00 via iPhone
    yelah
        5
    yelah  
       2019-12-14 21:21:15 +08:00 via iPhone
    很好的想法呀
    janda
        7
    janda  
       2019-12-17 09:01:39 +08:00
    所以、OSS 不香了吗? OSS 不能满足你做图床的需求了吗
    fotile96
        8
    fotile96  
    OP
       2019-12-17 16:07:14 +08:00   ❤️ 1
    @janda 月流量几十 T 的话哪里用得起。。
    janda
        9
    janda  
       2019-12-18 08:45:48 +08:00
    @fotile96 几十 T、打扰了
    moonrailgun
        10
    moonrailgun  
       2019-12-19 09:59:22 +08:00
    我就想问问开源么?感觉很适合在成本不够的时候自己搭图床
    fotile96
        11
    fotile96  
    OP
       2019-12-19 19:56:39 +08:00
    @moonrailgun 时机成熟的话可能会
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2117 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 01:01 · PVG 09:01 · LAX 17:01 · JFK 20:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.