最近准备上线一个项目接口服务是用 express.js 写的,数据库是 mongodb
对于这种架构,想问下业内是用单机把后端应用和数据库部署在同一台云服务器还是把他们分开分台?
分开的话不会导一致延迟很大吗
接口服务,是给移动端和 web 后台调用的,移动端用户量大概 1900 人左右,打卡用的,

最近准备上线一个项目接口服务是用 express.js 写的,数据库是 mongodb
对于这种架构,想问下业内是用单机把后端应用和数据库部署在同一台云服务器还是把他们分开分台?
分开的话不会导一致延迟很大吗
接口服务,是给移动端和 web 后台调用的,移动端用户量大概 1900 人左右,打卡用的,
1 dzdh Jan 29, 2023 看场景。不用。 |
2 BingoXuan Jan 29, 2023 all in one 要是 boom 了就很惨烈 |
3 wingkwanli888 OP @dzdh 纯属好奇,那什么时候才会把后端应用和数据库分开两台机器部署呢,我一直都是做传统企业做开发, 接手的已有老项目都是单机部署后端应用和数据库的, 没试过隔离部署这种架构 |
4 heybuddy Jan 29, 2023 via Android 分开部署一般也是走内网的 |
5 julyclyde Jan 29, 2023 @wingkwanli888 比例不是一比一的时候 |
6 liuzhedash Jan 29, 2023 @wingkwanli888 比如有三五个 web server 做负载均衡,数据库放到任何一个上面都不太合适;为了省成本,可以只有数据库服务器上 ssd 存储,web server 就普通硬盘凑合凑合。 分开部署也是在一个内网下面,带宽按 G 算,延迟几乎没有。 |
7 opengps Jan 29, 2023 目前看来没有分开的必要,但有必要在设计时候预留分开的结构。 web 侧重于 cpu ,数据库侧重于硬盘。那么你现在准备个好点的 cpu+硬盘配置服务器放一起就可以了 |
8 sampeng Jan 29, 2023 鸡蛋不放在一个篮子里。。。boom 后会很难看 |
9 lower Jan 29, 2023 既然都用云服务器了,数据库干脆就直接用云数据库啊,运维也省了…… |
10 opengps Jan 29, 2023 @wingkwanli888 #3 你的两台机器,即使分开放置内容,但依然是单点结构(一台机器坏了整个业务还是都坏)。增加机器反而增加了 boom 的可能,所以可以忽略提示你不放在一起的方案了 |
11 esee Jan 29, 2023 如果数据库是多个程序共用的话可以分开,如果数据库只是这个程序独有的话就没必要,就不到 2000 人,负载估计也不会大到哪里去。 |
12 zoharSoul Jan 29, 2023 有必要, 很小 |
13 codewld Jan 29, 2023 via Android 两千人单机就够了呀 |
14 WinterWu Jan 29, 2023 1. 看实际情况 2. 你这个规模比较小,可以不用 3. 但建议部署时候把数据库的云盘单独一个,一来可以搞个性能好点的,二来对它单独做个备份,真挂了数据不丢恢复很快 |
15 ragnaroks Jan 30, 2023 除非预算吃紧,否则建议把物理机当容器用,一个物理机只跑一个业务或服务,最小化潜在的损失。 |