V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
msmmbl
V2EX  ›  问与答

mongo 自建高可用,一定是 3 台服务器起步吗

  •  
  •   msmmbl · 82 天前 · 881 次点击
    这是一个创建于 82 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看了一些资料,现在大家都推荐 MongoDB 高可用好像现在都推荐 Replica Set 。他的选举算法要求服务器数量是奇数。

    可是咱就一个小项目,3 台好像太豪华了。

    我有点摸不准,请大佬帮忙确定下,3 台是必须的对吗,如果确定的话,我就理直气壮的申请机器去了。
    9 条回复    2024-02-05 17:55:42 +08:00
    zsj1029
        1
    zsj1029  
       82 天前
    小项目 docker 跑个实例就够了,再不行,三个实例,不是必须三个物理机
    standchan
        2
    standchan  
       82 天前
    你要高可用,主备是肯定的。至于 mongodb 是要几台就按官方最佳实践来呗。
    不能典型的”既要,又要“
    ltkun
        3
    ltkun  
       82 天前
    啥叫高可用?三台是起步吧
    msmmbl
        4
    msmmbl  
    OP
       82 天前
    @zsj1029 谢谢,那从物理机角度来看,是否 2 台物理机就够了,一个运行 1 个实例,一个运行 2 个实例。这样即使一个物理机出现硬件故障了需要停机,这样还有一台物理机在线。也满足 Repica Set 服务器数量是奇数的要求。
    Maboroshii
        5
    Maboroshii  
       82 天前 via Android
    物理机还需要尽可能隔离(比如电力,网络)
    Fooooo0
        6
    Fooooo0  
       82 天前
    @msmmbl 不是,最少要 3 台。
    libook
        7
    libook  
       82 天前
    理论上你可以在一个操作系统上同时跑 3 个实例组 Replica Set 。

    看你要不要可用性,不要可用性的话就单节点,挂了就停服务维修。要可用性就用官方推荐方案,除非你是 Mongo 专家知道如何配置方案。

    如果用云数据库的话,通常也是三节点,1 主、1 从、1 隐藏从,云服务器因为特殊的虚拟化方案通常自己搭建数据库 IO 性能会比云数据库差很多,物理机自己搭建的话会有更多的可用性、完整性要求。
    lenmore
        8
    lenmore  
       82 天前   ❤️ 1
    推荐 3 个节点
    但是预算实在紧张,可以考虑 1 主 1 从 + 1 个 Arbiter ,参考: https://www.mongodb.com/docs/manual/core/replica-set-arbiter/
    msmmbl
        9
    msmmbl  
    OP
       82 天前
    @Fooooo0 @libook @lenmore 感谢,心里有底了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1280 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 23:52 · PVG 07:52 · LAX 16:52 · JFK 19:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.