开发者社区> 3iakz3vvkvroc> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

【公告】淘宝 npm 域名即将切换 && npmmirror 重构升级

简介: 淘宝NPM 镜像站喊你切换新域名啦。新的Web 站点:https://npmmirror.com,Registry Endpoint:https://registry.npmmirror.com。 http://npm.taobao.org 和 http://registry.npm.taobao.org 将在 2022.06.30 号正式下线和停止 DNS 解析。
+关注继续查看

前言

本文将包括两部分内容:

  • 淘宝 npm 域名即将停止解析
  • npmmirror 镜像站大重构升级

原淘宝 npm 域名即将停止解析

正如在《淘宝 NPM 镜像站喊你切换新域名啦》 中预告的那样:

http://npm.taobao.orghttp://registry.npm.taobao.org 将在 2022.06.30 号正式下线和停止 DNS 解析

域名切换规则:


因此,有强依赖老域名的各位开发者请尽快更新到新域名,可能受到的影响和处理方式

  • 企业用户需要联系 网管/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 同步下。

在本次优化中,我们实现了一个简单的任务系统,来提供更好的同步补偿机制。

image


非常感谢阿里云这么多年来的对中国 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 域名即将停止解析,请切换至新域名(npm无响应)
原淘宝 npm 域名即将停止解析,请切换至新域名(npm无响应)
0 0
使用nvm管理node.js版本以及更换npm淘宝镜像源
本文分享了如何使用nvm切换node版本及报错处理。
0 0
如何正确使用淘宝npm镜像
如何正确使用淘宝npm镜像
0 0
淘宝 NPM 镜像
我们以前介绍过cnpmjs.org,非常棒的npm国内镜像。由于其使用量越来越大,加上淘宝内部也有很多项目使用 NodeJS,于是,淘宝正式基于 cnpmjs 推出了镜像服务。
0 0
淘宝 NPM 镜像站切换新域名啦
用CNPM/淘宝源的开发者们请注意,淘宝NPM 镜像站喊你切换新域名啦。新的Web 站点:https://npmmirror.com,Registry Endpoint:https://registry.npmmirror.com。随着新的域名已经正式启用,老 http://npm.taobao.org 和 http://registry.npm.taobao.org 域名将于 2022 年 05 月 31 日零时起停止服务。(望周知,求转发)
0 0
淘宝 NPM 镜像站切换新域名啦
用CNPM/淘宝源的开发者们请注意,淘宝NPM 镜像站喊你切换新域名啦。新的Web 站点:https://npmmirror.com,Registry Endpoint:https://registry.npmmirror.com。随着新的域名已经正式启用,老 http://npm.taobao.org 和 http://registry.npm.taobao.org 域名将于 2022 年 05 月 31 日零时起停止服务。(望周知,求转发)
0 0
文章
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
基于webpack和npm的前端组件化实践
立即下载
基于webpack和npm的前端组件化实践
立即下载
基于FAAS构建NPM同步CDN
立即下载