MongoDB 分片和复制

MongoDB Sharding and Replication

我已经设置了 MongoDB 分片,现在我需要设置复制以确保可用性。我该怎么做呢?我目前有这个:

我是否只在每个服务器上设置复制(通过为每个服务器分配一个辅助服务器)?

每个副本集中需要 3 个服务器以实现冗余。将第三个放在其中一个数据中心或获得第三个数据中心。

  • 配置副本集需要3台服务器。
  • 每个分片副本集需要 3 个服务器。
  • 你可以保留 2 只猫鼬。

为了冗余,我会在 3 个 DC 中构建整个系统。 每个数据中心将拥有三台服务器,提供以下服务:

  1. Server1 上的 1 个 mongoS
  2. Server1 配置服务器副本集的 1x 个节点
  3. Server2 上的 shard1 副本集的 1x 个节点
  4. Server3 上的 shard2 副本集的 1x 个节点

所以,总共有 9 个节点(物理或虚拟)。

如果我们“丢失”一个 DC,一切仍然有效,因为我们在所有三个副本集中占多数。

阅读 D.SM 和 JJussi 的建议后(顺便感谢),我将实施以下基础设施:

  • 3 个 monogs 实例分布在不同的数据中心
  • 3 个配置服务器分布在不同的数据中心
  • 2 个分片和 2 个存储服务器分布在不同的数据中心,每个分片都有一个仲裁器(为了暂时降低成本)

再次感谢您的意见。