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

2023-10-17 20:06:37 +08:00
 chesha1
docker 镜像,或者别的语言的包管理器( pip 等)都是在本地添加境内镜像站的地址,这样比较麻烦

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

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

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

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


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

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

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

我能想到的原因就这些,不全面。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/982884

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX