用处
查看,对比 npm 包下载量 ;调研、选择替代 npm 包
地址: vs.abfree.com/
数据来源
npms.io / github openapi / npmjs.com
技术选型
- 前端: vue3 + antdv
- 后端: nestjs + prisma + mysql + redis
sql 存了相关性推荐的数据 因为 npms 和 github 的接口访问过慢,加上会被限频,redis 用来缓存请求结果
部署方式
- 静态文件用了云托管,自动构建+cdn 发布
- 后端用了 docker 做打包,然后使用云函数运行镜像
云函数开发体会
背景: 最开始使用的是轻量云服务器+pm2 做后端部署,但是如果访问量太大,不好扩容,宽带太大了也消费不起 所以后面想上 docker+k8s,虽然后面只需要增加主机增加 pod 就可以扩容,但是技术栈有点深,不能保证稳定性. 后面发现云函数可以直接上镜像,直接用了 起初使用云函数是上传代码,各种环境 /包问题,直接放弃了,有了镜像环境后,轻松了很多,说下直接好处吧
- 不用担心扩容问题
- 按量付费 因为没人访问,目前每天几分钱(也不怕流量攻击,有告警和费用阈值)
- 直接写 dockerfile 构建,自动发布镜像部署,少了很多部署心智负担
- 云函数和 api 网关都自带版本控制,可以利用路由 /权重做灰度
- 云函数和 redis mysql 内网打通,不担心其他的技术栈扩展
整体来说,比以前自己动手轻松了很多很多,也退掉了其他的云服务器 现阶段确实挺省钱的,哈哈
还需要优化的地方
- npm 包替代性推荐
- npm 包每周推荐
大家看下有什么建议,或者讨论技术
关于开源
开源还是要开的,现阶段前后端代码还没脱敏,等脱敏了直接放在 npmvs 上
参考
产品参考这个网站,但是觉得这个网站太慢了,所以 www.npmtrends.com/