nodejs 后端项目如何部署?

kaesi0 · 2024-9-21 11:15:34 · 71 次点击
使用 Midwayjs 开发的后端项目,包括 api 项目和管理项目,使用 mongoo 数据库,后续可能会使用 redis ,请问这种单进程的项目怎样部署会比较好呢?

项目的特性决定了会有比较明显的流量潮汐,就是大部分时间流量不会很多,小部分时间流量会突然增多,但总体流量会持续增加这种。

目前的困惑在于

使用云服务器+pm2 的部署方案,可以很简单的实现均衡负载,可以根据云服务器核数灵活的决定 pm2 要 cluster 的数量,db 等可以和服务器装在一台云服务器。当流量增加时,可以增加云服务器核数和内存就行了。 但是感觉现在云服务器越来越贵,要实现灵活的增减配就只能买短时间,但是折扣就会很低。要买长时间的话,变更配置又要补很多差价。。。

另外问下大佬们,你们通过代理最多能少几个点的折扣?

另一种部署方案就是使用 Serferless ,麻烦的地方在于前期配置,比较麻烦。配置好了,只需要根据流量情况动态调整实例数量就好了,但是不清楚像 redis ,db 这些是需要另外云服务器来部署,还是买 云 db 或者去 redis 更方便。Serferless 另一个好处就是不像云服务器还要管理服务器的环境,软件版本,bug 修复,漏洞这些。



对于这两种方法,希望有经验的大佬些能不吝赐教,感谢。希望是能在产品早期找到一个能持续增加,成本可控的方案。
举报· 71 次点击
登录 注册 站外分享
3 条回复  
gaobh 小成 2024-9-21 11:24:43
某云最新活动有 2C4G 的 199 一年小项目够用了吧
crysislinux 小成 2024-9-21 12:03:41
应用容器话,持久存储的部分单独部署或者就用云厂商的
Puteulanus 小成 2024-9-21 13:48:08
Serferless 有不够灵活,第三方库可能不方便用,平台开始收割的话迁移成本高这些的问题。不过你全是 API 中转和一些无状态的增查删改的话,而且又有明显的流量潮汐,感觉确实适合 Serferless

Serferless 一般有自己配套的数据储存方案,看用哪家的研究研究对应的

如果你流量爆发的时间不多,第一种方案也可以用各家云按量服务器临时手动扩容,自己跑个服务在检测到负载高了的时候调云的 API 开一台按量的机器,把一部分流量匀过去,负载降了就自动删,这样一台长时间的便宜服务器常驻加上按量机器扛过高峰看划算不

阿里云 k8s 好像有类似的,不过网关那些都要收费好像,规模小了可能没自己这样手动搞一套划算
返回顶部