0

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

  • 2 个运行在不同数据中心的 mongos 实例
  • 2 个运行在不同数据中心的 mongod 配置服务器
  • 2 个运行在不同数据中心的 mongod 分片服务器
  • 所有通信都通过我的提供商设置的专用网络进行,该网络可以跨数据中心使用

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

4

3 回答 3

2

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

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

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

如果我们“失去”了一个 DC,一切都会正常进行,因为我们在所有三个副本集中都拥有多数。

于 2021-06-02T09:28:12.840 回答
1

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

  • 配置副本集需要 3 台服务器。
  • 每个分片副本集需要 3 个服务器。
  • 您可以保留 2 只猫鼬。
于 2021-06-02T05:30:07.677 回答
0

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

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

再次感谢您的意见。

于 2021-06-02T22:04:29.220 回答