开发者社区> 问答> 正文

shard里面 有四个节点但是有两个机器,每一个都是primary和secondary 合理吗?

shard里面 有四个节点但是有两个机器,每一个都是primary和secondary 合理吗?

展开
收起
河水流流 2024-08-11 09:41:53 38 0
1 条回答
写回答
取消 提交回答
  • 在MongoDB分片集群(Sharded Cluster)中,每个分片(Shard)本质上是一个复制集(Replica Set),旨在提供数据冗余和高可用性。一个典型的复制集包含一个主节点(Primary)和一个或多个从节点(Secondary)。

    根据您的描述,每个机器上有两个Shard节点,且每个节点既是Primary也是Secondary,这并不符合MongoDB的标准配置实践。

    正确的做法是,每个Shard应该是一个独立的复制集,每个复制集内部包含不同的节点角色,例如一个Primary和至少一个Secondary。这样设计可以确保当Primary节点故障时,Secondary节点可以被选举为新的Primary,从而维持服务的连续性。

    因此,在两个机器上合理配置应是每台机器运行一个复制集,每个复制集内部分别有一个Primary和至少一个Secondary节点,而不是每个节点既是Primary也是Secondary。这样的配置才能充分利用MongoDB复制集提供的故障切换和数据保护机制。

    参考链接:创建多可用副本集实例https://help.aliyun.com/zh/mongodb/user-guide/create-a-multi-zone-replica-set-instance

    2024-08-11 12:16:36
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载