npm建了一个scalenpm,为npm的重构募捐,目标是$ 200,000,目前为止已募集到$ 326,424。
npm 是一款包管理器,随 Node 捆绑发布。它提供了一种简易的方式来为你的应用程序安装模块,并且包括所有必要的依赖模块。
npm现有架构
npm原来的架构比较简单,后端是一个CouchDB,各种东西都往里面塞,然后前面用一个定制的反向代理挡一下。npm的客户端访问registry.npmjs.org,浏览器访问www.npmjs.org,这两部分的流量都导向反向代理。
由于访问量较大,撑不住了,所以加了一个CouchDB,分流一下。但是前面还是靠单一的反向代理服务器挡着。
这个架构问题很明显:
- 压缩包等大文件塞CouchDB,没有必要,严重影响性能
- 所有流量导向单一的反向代理,压力过大。
npm重构计划
针对现有架构的问题,重构的计划如下:
- 将
www.npmjs.org
和registry.npmjs.org
分离开来。www
由于压力不大,直接访问CouchDB,registry
通过反向代理访问CouchDB,同时将反向代理由一台增加到两台。 - 添加多个CouchDB,并且确保有闲置的副本备用。
- 将压缩包等文件从CouchDB移出。
捐款链接 (需外币信用卡)
撰文 SegmentFault
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。