自研 CDN 的难度在哪里?为什么都是大厂才搞自研 CDN,网上的 CDN 教程也很少,哪里有相关技术参考的吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
如果你希望学习 CDN 相关知识,那么建议你可以遍历以下软件的说明文档。
NGINX
cURL
andywuwu
V2EX    CDN

自研 CDN 的难度在哪里?为什么都是大厂才搞自研 CDN,网上的 CDN 教程也很少,哪里有相关技术参考的吗?

  •  
  •   andywuwu 2020-05-21 23:30:57 +08:00 7133 次点击
    这是一个创建于 1969 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,感谢。

    40 条回复    2025-02-05 20:47:17 +08:00
    opengps
        1
    opengps  
       2020-05-21 23:32:59 +08:00 via Android   2
    难在节点数量,难在昂贵的骨干网络
    jugelizi
        2
    jugelizi  
       2020-05-21 23:37:01 +08:00 via iPhone
    你要保证上海北京西雅图访问速度一样快 还不知道难点
    Kilerd
        3
    Kilerd  
       2020-05-21 23:40:24 +08:00   1
    做到以下几点就好了:
    1. 不同地方解析到最近的 CDN 节点 IP
    2. CDN 节点的文件保持一致
    3. 文件更新时,即使下发到各个节点

    就那么简单。
    huntcool001
        4
    huntcool001  
       2020-05-21 23:41:34 +08:00
    并不难.. 你自己在各大洲买 VPS 部署都能搭建 CDN. 比云服务厂商的便宜很多.
    cz5424
        5
    cz5424  
       2020-05-21 23:42:32 +08:00 via iPhone
    不难啊,有钱就行
    106npo
        6
    106npo  
       2020-05-21 23:43:02 +08:00 via Android
    难度在于钱
    andywuwu
        7
    andywuwu  
    OP
       2020-05-21 23:44:09 +08:00
    @Kilerd 现在网上有没一些开源的 cdn 自研解决方案或相关组件? 自己以前点播就玩过 traffic server+nginx+lvs,直播就 SRS 相关,发现找不到其他更好的
    niubee1
        8
    niubee1  
       2020-05-21 23:44:56 +08:00
    资源型的业务,需要大量的钱
    andywuwu
        9
    andywuwu  
    OP
       2020-05-21 23:46:07 +08:00
    钱的确是一大问题...不想每个地方建物理机房的话就只能用云主机...
    XanderChen
        10
    XanderChen  
       2020-05-21 23:46:44 +08:00
    想开发个 CDN ?

    搜索关键词 how to build cdn network

    百度也行,谷歌更好。
    Meltdown
        11
    Meltdown  
       2020-05-21 23:48:09 +08:00 via Android
    CDN 感觉就像京东自建仓储物流
    andywuwu
        12
    andywuwu  
    OP
       2020-05-21 23:50:19 +08:00
    @XanderChen 看过了 大部分都是国内外公司的解决方案
    lizytalk
        13
    lizytalk  
       2020-05-21 23:57:19 +08:00 via iPhone
    难在缺钱吧
    Xusually
        14
    Xusually  
       2020-05-21 23:58:08 +08:00
    其实也有很多自建的,或者类似于自建的多节点。

    难度不说吧,至少成本是一个考虑的问题。
    rb6221
        15
    rb6221  
       2020-05-22 00:03:22 +08:00
    买服务器是一部分
    另外就是和各 ISP 进行深度合作,确保体验一致(同城的同一家 ISP,城里和乡下也有区别)
    Kei001
        16
    Kei001  
       2020-05-22 00:52:34 +08:00
    楼主想自建 CDN 可以考虑使用 Fikker
    2kCS5c0b0ITXE5k2
        17
    2kCS5c0b0ITXE5k2  
       2020-05-22 01:07:17 +08:00
    你看 b 站的 CDN 就知道 自建不难 但是好用就很难了
    holinhot
        18
    holinhot  
       2020-05-22 03:31:50 +08:00
    搭起来容易,要质量高才是难点。看看阿里云(国际)那垃圾 CDN 。经常 502 。 根本不监控和优化回源和访问速度感知优化。
    qfdk
        19
    qfdk  
    PRO
       2020-05-22 05:24:38 +08:00 via iPhone
    自建其实就是 nginx 反向代理吧 其实 cf 就挺好 blog.qfdk.me 看看速度喽
    ohao
        20
    ohao  
       2020-05-22 06:24:15 +08:00 via iPhone   4
    说容易的 看回复大部分小白 大部分理解的 cdn 都是几个机器做个集群,压根不是 cdn

    涉及的太多了
    先是智能 dns,需要准确的 IP 归属,这个涉及 IP 库的清洗,不是 apnic,rpie 这类去官方脚本抽取就能用,需要 bgp 层面做测量,然后就是 dns 服务器的稳定性,一攻击挂掉整个服务就凉了 (估计很多人会告诉你用 dnspod 什么的.....呵呵吧......),cf 的 dns 也是分组,被攻击的时候好牵引

    然后不说使用什么软件层面,就配置文件下发,实时性,比如从美国到南非,有时候网络稳定性巨差,导致各种问题
    大公司 cdn 的区域是存储池模式,定制的一组机柜比如 40 台服务器共用一个 san 存储,这样缓存的文件一个 copy 就可以了,不需要每个服务器都配置缓存硬盘缓存一样的数据,还能区分热数据冷数据分 ssd 或 hdd 存储,这 40 台组内网集群,在 n 个 cdn 前端出口做 lb

    如果是租用设备,设备的硬件和网络不同,配置文件都是需要单独配置优化的

    还有日志的分析和收集,不要说什么 syslog 了,这个都是 elk 集群
    uzumaki
        21
    uzumaki  
       2020-05-22 06:51:28 +08:00 via iPhone
    @ohao 有钱都可以实现自建。
    sinxccc
        22
    sinxccc  
       2020-05-22 07:24:42 +08:00
    @uzumaki 有钱的大公司自建 CDN 的翻车次数也不少了,做的好的基本都是业务单一的。
    alexkkaa
        23
    alexkkaa  
       2020-05-22 07:28:57 +08:00 via Android
    难得是 cf 这样的,一般的 cdn 没啥难度,就是人民币玩家。国内的还要有关系,价格低
    luren123
        24
    luren123  
       2020-05-22 07:46:16 +08:00
    难点是成本,人力成本&设备成本,就比如你开一个面包店的时候,你回去开面粉厂?回去开烤面包机的生产厂么?
    如果你在全国有几百家连锁店,你可能回去做这件事
    luren123
        25
    luren123  
       2020-05-22 07:46:31 +08:00
    难点是成本,人力成本&设备成本,就比如你开一个面包店的时候,你会去开面粉厂?会去开烤面包机的生产厂么?
    如果你在全国有几百家连锁店,你可能回去做这件事
    brendanliu
        26
    brendanliu  
       2020-05-22 08:42:05 +08:00
    自建不难,主要是成本问题,可以参考京东的本地仓
    brendanliu
        27
    brendanliu  
       2020-05-22 08:42:39 +08:00
    @brendanliu 还要和运营商搞好关系
    salmon5
        28
    salmon5  
       2020-05-22 08:47:16 +08:00 via Android
    一堆小白,钱不是更难的吗?
    salmon5
        29
    salmon5  
       2020-05-22 08:48:06 +08:00 via Android
    和你挣钱千万年薪一样难
    ica10888
        30
    ica10888  
       2020-05-22 08:59:11 +08:00 via Android
    bilibili ?
    ajaxfunction
        31
    ajaxfunction  
       2020-05-22 10:17:01 +08:00
    这玩意和 CPU 一样, 入行门槛特别特别高,然后售价确是白菜价, 这就形成了壁垒

    谁能初期投资上亿 ,然后售价几毛几块的往回收啊?
    namelosw
        32
    namelosw  
       2020-05-22 11:36:09 +08:00
    我也好奇为什么没有,比如我关心的国家和地区都有一些机器,为什么没有开源的东西能让我把这些机器很容易地变成 CDN 。这样甚至我的某些不太重依赖 DB 的 web server 还能像 CDN 一样分布。

    因为没有最后只能买现成的 CDN 。
    est
        33
    est  
       2020-05-22 11:40:46 +08:00
    自研 CDN 的难度在哪里?

    我觉得不是研的难度吧。是买线路买机房的难度。
    hst001
        34
    hst001  
       2020-05-22 11:53:27 +08:00
    CDN 的关键是硬件和线路,开源软件给你有什么用?
    HuHui
        35
    HuHui  
       2020-05-22 12:06:33 +08:00 via Android
    这和一个人做饭不划算是一回事
    uzumaki
        36
    uzumaki  
       2020-05-22 17:38:59 +08:00 via iPhone
    @sinxccc 做的好的业务单一的还是证明不够钱。
    xsen
        37
    xsen  
       2020-05-24 08:24:19 +08:00   1
    现在 cdn (各大厂的)还是有一定的局限性,都是针对性的普适性的方案。没有针对企业私有云或混合云的方案

    1. 不支持私有云部署

    2. 不支持 p2p cdn 类似这样的方案
    这属于细分市场,企事业(大型的)基本都有类似需求。用公有云成本高(流量成本),对带宽要求也高。若采用混合云部署的方式,就非常理想

    3. 不支持实时流媒体的传输
    流媒体这块当前主要是基于 rtmp,延迟太高。需要支持低延迟流媒体传输(如直播或视频会议这些)

    4. 缺乏对智能硬件接入的支持
    thinkxen
        38
    thinkxen  
       2020-05-29 15:15:55 +08:00
    智能 DNS 分地区分线路解析
    节点监控 节点自动上线下线
    节点防护节点负载
    反正很复杂
    gz911122
        39
    gz911122  
       2020-06-28 15:06:30 +08:00
    有什么简单的开源 cdn 系统么....
    ekkoforv2
        40
    ekkoforv2  
       248 天前
    看到有很多人使用用 nginx proxy manager 做多机的反向代理管理。

    并且也有一些人需要一个安全 CDN 系统。

    在我们过去的工作中也发现世界上缺少一个优雅的真正意义上的自托管安全 CDN 系统。

    构建一套像 Cloudflare 这样的安全 CDN 需要非常复杂的技术栈组合。

    例如,你需要一个高性能的反代,你需要一个强大的分布式配置管理,你需要一个适合各种流量的缓存,你需要一个全球的流量调度系统,你需要一个强大的监控和可观擦性系统。你需要一个强大的分布式网络。你需要在网络具备 L3-L7 的流量清洗能力。。。

    最后你需要将上述这些技术栈简单、可靠的组合在一起。


    www.iedge.dev 真正降低了上述的复杂性
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     876 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 21:49 PVG 05:49 LAX 14:49 JFK 17:49
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86