今天我对 Go 模块代理 [goproxy.cn](https://goproxy.cn) 和 [goproxy.io](https://goproxy.io) 分别做了一次超大型库 [github.com/kubernetes/kubernetes](https://github.com/kubernetes/kubernetes) 在初始化时拉取依赖模块的速度实测。***(测试实录视频:[goproxy.cn/assets/videos/goproxy.cn-vs-goproxy.io.mp4](https://goproxy.cn/assets/videos/goproxy.cn-vs-goproxy.io.mp4))***
注:本来也会有阿里云的模块代理 [mirrors.aliyun.com/goproxy](https://mirrors.aliyun.com/goproxy) 的测试结果的,可是在使用阿里云的模块代理时总是无法初始化 Kubernetes 这个库,原因未知,但确定不是网络的问题(找了几个朋友帮忙试了),谁有空的话也可以试试看能成功不([阿里云的模块代理失败结果截图](https://static.studygolang.com/190831/bd4f995d92eaa8fa033d5b896a83bd5c.png))。至于为什么没有 [athens.azurefd.net](https://athens.azurefd.net) 的测试结果,是因为 Athens 的作者本人说了它是一个作为 Demo 用的服务,存在不稳定因素,故而没将测试结果加到视频中,同样环境下它的测试结果是总耗时 44.430 秒。没有 [gocenter.io](https://gocenter.io) 的测试结果是因为它实在是太慢了,慢到我无法坚持等到测试结果出来……而且由于 [gocenter.io](https://gocenter.io) 是个知名的“404 服务”,意思也就是说它总是会出现无法找到目标模块的情况,原因是它在设计上有意地没有添加实时回源措施,属于主动发现式的服务,故而不建议使用。
国内代理说明(参考自:[github.com/golang/go/wiki/Modules#are-there-always-on-module-repositories-and-enterprise-proxies](https://github.com/golang/go/wiki/Modules#are-there-always-on-module-repositories-and-enterprise-proxies)):
* [goproxy.cn](https://goproxy.cn):由七牛云运行,支持代理 [sum.golang.org](https://sum.golang.org),经过 CDN 加速,高可用,可应用进公司复杂的开发环境中,亦可用作上游代理;
* [mirrors.aliyun.com/goproxy](https://mirrors.aliyun.com/goproxy):由阿里云运行,不支持 sumdb 代理,经过 CDN 加速,高可用,可应用进公司复杂的开发环境中,亦可用作上游代理;
* [goproxy.io](https://goproxy.io):由个人运行,支持代理 [sum.golang.org](https://sum.golang.org)。
测试环境:
* MacBook Pro (15-inch, 2016)
* 北京移动 100 Mbit/s 宽带
![goproxy.cn-vs-goproxy.io.png](https://static.studygolang.com/190831/b21dc012af1a4871d433f1d4126f1944.png)
更多评论
老哥说的“利益相关”是指的啥意思?这所以有这个实测视频,是因为 goproxy.cn 在 telegram 一个群里被黑了,只要有人提到了 goproxy.cn,就有人在下面跟一句 goproxy.cn 不靠谱用着总失败,建议用 goproxy.io,所以我才突然意识到宣传得实在是太少了,得出来证明一下。至于为啥做这个项目,老哥你可以看一下我在 https://mp.weixin.qq.com/s/45DTGk90CQzvqN1-y4WvVw 这篇推送里的留言。😊
#2