【公告】淘宝 npm 域名即将切换 npmmirror 重构升级
镜像下载、域名解析、时间同步请点击 阿里云开源镜像站
前言
本文将包括两部分内容:
- 淘宝 npm 域名即将停止解析
- npmmirror 镜像站大重构升级
原淘宝 npm 域名即将停止解析
正如在《淘宝 NPM 镜像站喊你切换新域名啦》 中预告的那样:
http://npm.taobao.org 和 http://registry.npm.taobao.org 将在 2022.06.30 号正式下线和停止 DNS 解析。
域名切换规则:
- http://npm.taobao.org => http://npmmirror.com
- http://registry.npm.taobao.org => http://registry.npmmirror.com
因此,有强依赖老域名的各位开发者请尽快更新到新域名,可能受到的影响和处理方式:
- 企业用户需要联系 网管/IT/SRE 更新防火墙白名单。
- 存量应用的 lock 文件,开发者需要自行执行 sed 等指令去替换或重新生成。
- 本地 npmrc 里面的 registry 地址(如果有,则)需要开发者自行更新。
- 开发者自己的 CL 工具 或 平台应用 里面写死的地址,需开发者自己更新并部署。
- cnpm cli / nrm 等工具,对应的社区同学已经提 PR 更新,大家重新安装最新版本即可。(如发现遗漏麻烦知会下我们)
BTW:我们新的品牌名为: npmmirror 中国镜像站。
npmmirror 中国镜像站大重构升级
我们的 npmmirror 镜像站,自 2014 年正式对外服务以来,不知不觉已经 8 年,2021 年全年的包下载量高达 260 亿次(比 2020 年增长 1.5 倍)。
这些年来,Node.js 领域的技术在快速的迭代升级,我们原来的架构已经很难支撑当今如此大体量的前端生态,因此在 2021 年我们启动了技术升级,并于春节前已经切换完成。
同步逻辑优化
早期我们同步 npm 源站的方式,是没有补偿机制的,所以当因为不可抗力导致同步失败时,需要社区开发者手动执行 cnpm sync 同步下。
在本次优化中,我们实现了一个简单的任务系统,来提供更好的同步补偿机制。
非常感谢阿里云这么多年来的对中国 npmmirror 镜像服务的开源赞助,只能靠仅有的广告位和每年的感谢帖子来回报这份天价的云资源账单。
这一次重构之后,我们验证下来至少可以节省一半的云服务器资源,也算是让阿里云的开源赞助可以减轻一些成本负担。
完全重写的代码
第一点是框架升级,原有的代码 是基于 Koa 的,现基于 Egg 的 TypeScript 模式完全重构:cnpm/cnpmcore 。
@HTTPController()
export class DownloadController extends AbstractController {@Inject()private packageVersionDownloadRepository: PackageVersionDownloadRepository;@HTTPMethod({path: `/downloads/range/:range/:fullname(${FULLNAME_REG_STRING})`,method: HTTPMethodEnum.GET,})async showPackageDownloads(@HTTPParam() fullname: string, @HTTPParam() range: string) {// ...}
}
同时,目录结构基于 DDD 领域驱动设计方式,https://www.yuque.com/liberty/rf322x
app
├── common
│ └── adapter # 外部服务调用
├── core
│ ├── entity # 核心模型,实现业务行为
│ ├── event # 异步事件定义,以及消费,串联业务
│ ├── service # 核心业务逻辑
│ └── util
├── repository
│ └── model # ORM 模型,数据定义
├── port
│ └── controller # HTTP Controller
├── schedule # 定时任务
└── test # 单测
同时,我们的监控体系也切换为基于 Egg 的 Easy-Monitor 。
可能存在的问题
鉴于我们是全新架构大重构,尽管我们已经在春节前完成了老数据的全量迁移,但也引起了一些数据同步问题,在此给您带来的不便表示抱歉。
如果遇到 包版本
或 mirror 大包
同步缺漏问题,可以先手动 sync 一次。如还有问题,可以通过 cnpm issue 反馈,我们将在第一时间处理,请大家多体谅。
【公告】淘宝 npm 域名即将切换 npmmirror 重构升级相关推荐
- 原淘宝 npm 域名即将停止解析,请切换至新域名(npm无响应)
NPM的全称是Node Package Manager,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准. 2020年3月17日,Github宣布收购npm,GitH ...
- 【重要】原淘宝 npm 域名已更新
[重要]原淘宝 npm 域名即将停止解析,请切换至新域名 原来的http://npm.taobao.org和 http://registry.npm.taobao.org 将在 2022.06.30 ...
- 淘宝 NPM 镜像站切换新域名啦
淘宝 NPM 镜像站切换新域名啦 https://zhuanlan.zhihu.com/p/432578145 npm 更换淘宝镜像源 https://www.jianshu.com/p/a5efac ...
- 老淘宝 npm 镜像停止解析,请更换
淘宝 npm 域名即将停止解析 npmmirror 中国镜像站 http://npmmirror.com/ npmmirror 镜像站大重构升级 微信群:为国内企业 Registry 维护者提供信息同 ...
- 淘宝npm镜像源换新地址
简介:用CNPM/淘宝源的开发者们请注意,淘宝NPM 镜像站喊你切换新域名啦. 新的Web 站点:https://npmmirror.com,Registry Endpoint:https://reg ...
- 淘宝npm镜像源换新地址,npm设置最新淘宝镜像
原淘宝 npm 域名停止 http://npm.taobao.org 和 http://registry.npm.taobao.org 在 2022.06.30 号正式下线和停止 DNS 解析. 域名 ...
- 淘宝npm源将在2022年5月31日更换域名服务
前些天搞一个老项目的依赖包的时候yarn.lock更新了一下,出现了一个奇怪的东西: 这个源的地址变成了 registry.npmmirror.com 我去确认了一下自己的源没有问题,依然是熟悉的 r ...
- 淘宝 npm 源将在 2022 年 5 月 31 日更换域名服务
淘宝为了提供更稳定.更安全.更符合国家法律法规要求的镜像服务(说人话就是怕国家找茬所以要低调),将要更换淘宝 npm 源的服务器,并且老的域名 npm.taobao.org 和 registry.np ...
- 淘宝NPM镜像、cnmp
淘宝NPM镜像 网址: https://npmmirror.com/ 设置淘宝NPM镜像 shell> npm config set registry https://registry.npmm ...
最新文章
- 人生快乐之道(组图)
- 一个古老的问题HashMap与Hashtable区别
- c++ properties_Java怎么从这四个位置读取配置文件Properties(普通文件系统-classpath-jar-URL)
- og-bin=mysql-bin_TiDB Binlog 常见问题
- Java Spring MVC model学习
- android定位会出现的问题,android – 使用GPS_PROVIDER进行定位时出现问题
- Android大事记(不断更新中)
- html链接增加参数,插入当前URL到@ Html.RouteLink参数来建立一个链接
- springboot 扫描jar包中bean_详解Spring Boot的Component Scan原理
- CentOS 7 yum 安装 Nginx
- 《大道至简》最后两章读后感
- 常见词根-词缀-需要记忆
- 随机测试数据生成 与 Pandas迭代方法性能对比
- 网络摄像机IPCamera RTSP直播播放网络/权限/音视频数据/花屏问题检测与分析助手EasyRTSPClient...
- KOOCAN非正常电影排行榜之这个丧尸不太冷
- DHT应用于区块链概要
- bzoj 2069 [ POI 2004 ] ZAW —— 多起点最短路 + 二进制划分
- idea如何给main函数中的args[] 字符串数组赋值
- 这些年,我与Google不得不说的那些事儿
- Netty框架之Selector轮询器