shard里面 有四个节点但是有两个机器,每一个都是primary和secondary 合理吗?
在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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。