MongoDB 分片和复制
MongoDB Sharding and Replication
我已经设置了 MongoDB 分片,现在我需要设置复制以确保可用性。我该怎么做呢?我目前有这个:
- 2 个 mongos 实例 运行 在不同的数据中心
- 2 个 mongod 配置服务器 运行 在不同的数据中心
- 2 个 mongod 分片服务器 运行 在不同的数据中心
- 所有通信都通过我的提供商设置的跨数据中心可用的专用网络进行
我是否只在每个服务器上设置复制(通过为每个服务器分配一个辅助服务器)?
每个副本集中需要 3 个服务器以实现冗余。将第三个放在其中一个数据中心或获得第三个数据中心。
- 配置副本集需要3台服务器。
- 每个分片副本集需要 3 个服务器。
- 你可以保留 2 只猫鼬。
为了冗余,我会在 3 个 DC 中构建整个系统。
每个数据中心将拥有三台服务器,提供以下服务:
- Server1 上的 1 个 mongoS
- Server1 配置服务器副本集的 1x 个节点
- Server2 上的 shard1 副本集的 1x 个节点
- Server3 上的 shard2 副本集的 1x 个节点
所以,总共有 9 个节点(物理或虚拟)。
如果我们“丢失”一个 DC,一切仍然有效,因为我们在所有三个副本集中占多数。
阅读 D.SM 和 JJussi 的建议后(顺便感谢),我将实施以下基础设施:
- 3 个 monogs 实例分布在不同的数据中心
- 3 个配置服务器分布在不同的数据中心
- 2 个分片和 2 个存储服务器分布在不同的数据中心,每个分片都有一个仲裁器(为了暂时降低成本)
再次感谢您的意见。
我已经设置了 MongoDB 分片,现在我需要设置复制以确保可用性。我该怎么做呢?我目前有这个:
- 2 个 mongos 实例 运行 在不同的数据中心
- 2 个 mongod 配置服务器 运行 在不同的数据中心
- 2 个 mongod 分片服务器 运行 在不同的数据中心
- 所有通信都通过我的提供商设置的跨数据中心可用的专用网络进行
我是否只在每个服务器上设置复制(通过为每个服务器分配一个辅助服务器)?
每个副本集中需要 3 个服务器以实现冗余。将第三个放在其中一个数据中心或获得第三个数据中心。
- 配置副本集需要3台服务器。
- 每个分片副本集需要 3 个服务器。
- 你可以保留 2 只猫鼬。
为了冗余,我会在 3 个 DC 中构建整个系统。 每个数据中心将拥有三台服务器,提供以下服务:
- Server1 上的 1 个 mongoS
- Server1 配置服务器副本集的 1x 个节点
- Server2 上的 shard1 副本集的 1x 个节点
- Server3 上的 shard2 副本集的 1x 个节点
所以,总共有 9 个节点(物理或虚拟)。
如果我们“丢失”一个 DC,一切仍然有效,因为我们在所有三个副本集中占多数。
阅读 D.SM 和 JJussi 的建议后(顺便感谢),我将实施以下基础设施:
- 3 个 monogs 实例分布在不同的数据中心
- 3 个配置服务器分布在不同的数据中心
- 2 个分片和 2 个存储服务器分布在不同的数据中心,每个分片都有一个仲裁器(为了暂时降低成本)
再次感谢您的意见。