V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wingkwanli888
V2EX  ›  程序员

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

  •  
  •   wingkwanli888 · 2023-01-29 14:17:15 +08:00 via iPhone · 1482 次点击
    这是一个创建于 689 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    分开部署也是在一个内网下面,带宽按 G 算,延迟几乎没有。
    opengps
        7
    opengps  
       2023-01-29 17:38:22 +08:00
    目前看来没有分开的必要,但有必要在设计时候预留分开的结构。
    web 侧重于 cpu ,数据库侧重于硬盘。那么你现在准备个好点的 cpu+硬盘配置服务器放一起就可以了
    sampeng
        8
    sampeng  
       2023-01-29 17:40:13 +08:00
    鸡蛋不放在一个篮子里。。。boom 后会很难看
    lower
        9
    lower  
       2023-01-29 17:42:53 +08:00
    既然都用云服务器了,数据库干脆就直接用云数据库啊,运维也省了……
    opengps
        10
    opengps  
       2023-01-29 17:43:17 +08:00
    @wingkwanli888 #3 你的两台机器,即使分开放置内容,但依然是单点结构(一台机器坏了整个业务还是都坏)。增加机器反而增加了 boom 的可能,所以可以忽略提示你不放在一起的方案了
    esee
        11
    esee  
       2023-01-29 18:08:27 +08:00
    如果数据库是多个程序共用的话可以分开,如果数据库只是这个程序独有的话就没必要,就不到 2000 人,负载估计也不会大到哪里去。
    zoharSoul
        12
    zoharSoul  
       2023-01-29 18:19:36 +08:00
    有必要,
    很小
    codewld
        13
    codewld  
       2023-01-29 20:18:35 +08:00 via Android
    两千人单机就够了呀
    WinterWu
        14
    WinterWu  
       2023-01-29 20:30:37 +08:00
    1. 看实际情况
    2. 你这个规模比较小,可以不用
    3. 但建议部署时候把数据库的云盘单独一个,一来可以搞个性能好点的,二来对它单独做个备份,真挂了数据不丢恢复很快
    ragnaroks
        15
    ragnaroks  
       2023-01-30 13:17:19 +08:00
    除非预算吃紧,否则建议把物理机当容器用,一个物理机只跑一个业务或服务,最小化潜在的损失。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5088 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 09:41 · PVG 17:41 · LAX 01:41 · JFK 04:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.