b2b 场景的接口服务或者内部系统有没必要用两台云服务器把后端应用和数据库分开部署

2023-01-29 14:17:15 +08:00
 wingkwanli888

最近准备上线一个项目接口服务是用 express.js 写的,数据库是 mongodb

对于这种架构,想问下业内是用单机把后端应用和数据库部署在同一台云服务器还是把他们分开兩分台?

分开的话不会导一致延迟很大吗

接口服务,是给移动端和 web 后台调用的,移动端用户量大概 1900 人左右,打卡用的,

1254 次点击
所在节点    程序员
15 条回复
dzdh
2023-01-29 14:20:44 +08:00
看场景。不用。
BingoXuan
2023-01-29 14:22:29 +08:00
all in one 要是 boom 了就很惨烈
wingkwanli888
2023-01-29 14:25:54 +08:00
@dzdh 纯属好奇,那什么时候才会把后端应用和数据库分开两台机器部署呢,我一直都是做传统企业做开发, 接手的已有老项目都是单机部署后端应用和数据库的, 没试过隔离部署这种架构
heybuddy
2023-01-29 14:28:48 +08:00
分开部署一般也是走内网的
julyclyde
2023-01-29 14:34:44 +08:00
@wingkwanli888 比例不是一比一的时候
liuzhedash
2023-01-29 17:20:10 +08:00
@wingkwanli888
比如有三五个 web server 做负载均衡,数据库放到任何一个上面都不太合适;为了省成本,可以只有数据库服务器上 ssd 存储,web server 就普通硬盘凑合凑合。

分开部署也是在一个内网下面,带宽按 G 算,延迟几乎没有。
opengps
2023-01-29 17:38:22 +08:00
目前看来没有分开的必要,但有必要在设计时候预留分开的结构。
web 侧重于 cpu ,数据库侧重于硬盘。那么你现在准备个好点的 cpu+硬盘配置服务器放一起就可以了
sampeng
2023-01-29 17:40:13 +08:00
鸡蛋不放在一个篮子里。。。boom 后会很难看
lower
2023-01-29 17:42:53 +08:00
既然都用云服务器了,数据库干脆就直接用云数据库啊,运维也省了……
opengps
2023-01-29 17:43:17 +08:00
@wingkwanli888 #3 你的两台机器,即使分开放置内容,但依然是单点结构(一台机器坏了整个业务还是都坏)。增加机器反而增加了 boom 的可能,所以可以忽略提示你不放在一起的方案了
esee
2023-01-29 18:08:27 +08:00
如果数据库是多个程序共用的话可以分开,如果数据库只是这个程序独有的话就没必要,就不到 2000 人,负载估计也不会大到哪里去。
zoharSoul
2023-01-29 18:19:36 +08:00
有必要,
很小
codewld
2023-01-29 20:18:35 +08:00
两千人单机就够了呀
WinterWu
2023-01-29 20:30:37 +08:00
1. 看实际情况
2. 你这个规模比较小,可以不用
3. 但建议部署时候把数据库的云盘单独一个,一来可以搞个性能好点的,二来对它单独做个备份,真挂了数据不丢恢复很快
ragnaroks
2023-01-30 13:17:19 +08:00
除非预算吃紧,否则建议把物理机当容器用,一个物理机只跑一个业务或服务,最小化潜在的损失。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/911316

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX