镜像站为什么不做成 CDN 的模式 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
FlashEcho
V2EX    问与答

镜像站为什么不做成 CDN 的模式

  •  
      FlashEcho 2023-10-17 20:06:37 +08:00 1845 次点击
    这是一个创建于 804 天前的主题,其中的信息可能已经有所发展或是发生改变。
    docker 镜像,或者别的语言的包管理器( pip 等)都是在本地添加境内镜像站的地址,这样比较麻烦

    为什么不能像 CDN 一样,DNS 解析的时候,给用户返回 CDN 的地址,这样对于用户体验更好

    如果把镜像站,作为官方源的"CDN",再有一个"DNS"服务器解析拉取包的请求,用户不就可以无感高速使用了吗?为什么大家没有这么做
    13 条回复    2023-10-18 09:03:00 +08:00
    swuzjb
        1
    swuzjb  
       2023-10-17 20:15:50 +08:00
    所以 本地镜像地址不就是“DNS”了么 要不然 官方要管理所有的镜像?
    kkocdko
        2
    kkocdko  
       2023-10-17 20:24:34 +08:00   1
    先问是不是再问为什么。

    也有这样做的,比如 npmmirror 虽然只有一个域名,但是有多个节点。要多个域名也可以,比如 Fedora 就有 metalink ,就是你所说的模式,请求拉回来一个镜像站列表,然后从列表里选一个。Ubuntu 似乎也有类似的自动换源的措施。
    Shiroka
        3
    Shiroka  
       2023-10-17 20:29:41 +08:00 via iPhone   2
    npmjs.org dockerhub.com 等可以备案吗?不能备案指向境内服务器你猜会发生什么?
    FlashEcho
        4
    FlashEcho  
    OP
       2023-10-17 20:40:18 +08:00
    @swuzjb 我的意思就是,为什么没有把用户的劳动转移到官方啊。官方管理这样更有效率,只要添加一次镜像,所有用户就都能用了,如果用户管理,每个人都要在自己本地设置
    Vegetable
        5
    Vegetable  
       2023-10-17 20:41:33 +08:00   2
    不是一个层面的东西,docker 比较特殊,他确实叫 mirror ,pypi 和 npm 实际上都是一种独立的"仓库",人家本来不是为了解决你网络不好的问题的,你的 cdn 模式和仓库模式只有一小块是交叉的,况且你一个受信机构怎么把流量随便分发给第三方。
    FlashEcho
        6
    FlashEcho  
    OP
       2023-10-17 20:47:53 +08:00
    @Shiroka 啊,抱歉我没太明白你的意思。一个没有备案的网站,用了中国境内的 CDN ,如果规模很大,会有什么风险吗?比如 apple.com ,不是 apple.com.cn ,就没有备案,用站长之家看了一下,应该是用了国内的 cdn ,也没出什么问题
    Conantv2
        7
    Conantv2  
       2023-10-17 20:56:56 +08:00   2
    @chesha1 apple.com 有备案的,京 ICP 备 10214630 号,苹果电子产品商贸(北京)有限公司

    没有备案的域名解析到国内 CDN ,不是有没有风险的问题,而是直接就拒绝访问了
    oldshensheep
        8
    oldshensheep  
       2023-10-17 20:57:17 +08:00   1
    说到 CDN ,其实现有的镜像站做成 IPFS 会更好
    IPFS 可以自动发现网络中的 “镜像”,并且可以从多个源下载。如果要贡献带宽也只需要本地储存一份,启动个 IPFS 服务


    做成你说的模式其实是有的,不过和你说的有的差别,功能上是一样的。比如 termux ,termux 的 pkg 内置了一些镜像站,在连接的时候会测试镜像站的可用性还有 ping ,会选择最低延迟的那个服务器
    ysc3839
        9
    ysc3839  
       2023-10-17 21:06:20 +08:00 via Android   1
    有没有可能,那些官方服务器就已经部署了 CDN ,只是你访问 CDN 仍然慢而已。
    至于为什么官方不把 DNS 解析到第三方的镜像站,大概是为了掌握控制权。像 Docker Hub 是有付费服务的,那显然不能解析到第三方,不然出了问题第三方没法负责。
    sblid
        10
    sblid  
       2023-10-17 21:16:25 +08:00   1
    镜像这种方案主要是历史留下来的,毕竟以前没有 CDN 这种概念。但现在官方源普遍都已经套 CDN 了,不存在你说的问题。

    中国局域网的锅就不要赖别人了,甚至你应该庆幸镜像方案能留下来,至少中国用户用起来还挺方便的。
    ysc3839
        11
    ysc3839  
       2023-10-17 22:06:16 +08:00 via Android
    @Conantv2 apple.com 存疑,曾经苹果用的是 apple.com/cn 后面改成了 apple.com.cn 。有说法称虽然 apple.com 曾经备案成功,但是后面备案要求更改了,需要大陆的域名注册商管理才能备案,因此假如因为某些原因失去了备案,就必须要很复杂的手续才能重新备案。
    docx
        12
    docx  
       2023-10-17 22:32:31 +08:00 via iPhone
    所有镜像都统一到官方域名底下,那如果官方域名被墙了( DNS 污染),你就完全无法下载资源了
    Shiroka
        13
    Shiroka  
       2023-10-18 09:03:00 +08:00 via iPhone
    @ysc3839 正解。

    备案首先需要域名在国内注册商,既然在国内注册商就要遵守中国法律法规,这点劝退绝大多数;
    另外,备案需要国内公司或个人资质,一般没有会为了备案专门开个公司的;
    其次 .org 暂时不能备案,而很多项目的域名因为开源或者公益性质在用 .org ;
    第三国内 cdn 流量价格相较于国外还是比较贵,并且国内的生态并不好,许多能拿到 cloudflare / akamai 这类国外 cdn 赞助的并不能在国内也拿到赞助,自己付费的话价格偏高。

    我能想到的原因就这些,不全面。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     938 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 22:48 PVG 06:48 LAX 14:48 JFK 17:48
    Do have faith in what you're doing.
    ubao msn 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