npm服务的架构变迁:如何支撑
- 129K packages
- 239 GB package tarballs
- 40 million pkg dls/day
- 1500 req/sec, peak 3200
我来小结下:
- 使用NOSQL Couchdb,且一写多读,P2P复制(DB内置支持)。
- 文件用nginx+文件系统存放,DB中只记录信息
- 很矫情的使用了Couchdb,这个是不支持cluster的,所以用了haproxy和pound两种负载均衡的反向代理来完成集群的负载均衡。
PDF文件下载 :http://pan.baidu.com/s/1qWJTPFm