MongoDB实战-生产环境中分片的部署与配置

    在生产环境里部署分片集群时,面前会出现很多选择和挑战。下面会介绍几个推荐的拓扑结构。

1.部署拓扑

    要运行示例MongoDB分片集群,你一共要启动九个进程(每个副本集三个mongod,外加三个配置服务器)。咋一看,这个数字有点吓人。一开始用户会假设在生产环境里运行两个分片集群要有九台独立的机器。幸运的是,实际需要的机器要少很多,看一下集群中各组件所要求的资源就知道为什么了。

   首先考虑下副本集,每个成员都包含分片的完整数据副本,可能是主节点,也可能是从节点。这些进程总是要求有足够的磁盘空间来保存数据,要有足够的内存高效得提供服务。因此,复制mongod是分片集群中最资源密集型的进程,必须占有独立的机器。

   那副本集的仲裁节点呢?这些进程值保存副本集的配置数据,这些数据就放在一个文档里。所以,仲裁节点的开销最小,当然也就不需要自己的服务器了。

   接下来是配置服务器,它们同样只保存相对较少的数据。举例来说,配置服务器上管理示例副本集的数据一共也就大约30KB。如果假设这些数据会随着分片集群的增长而线性增长。那么1TB的分片集群可能对对应30MB的数据。也就是说配置服务器同样不需要有自己的机器。但是,考虑到配置服务器所扮演的重要角色,一些用户更倾向于为他们提供一些机器(或虚拟机)。

   根据你对副本集合分片集群的了解,可以列出部署分片集群的最低要求:

(1)副本集的每个成员,无论是完整的副本节点还是仲裁节点,都需要放在不同的机器上;

(2)每个用于复制的副本集成员都需要有自己的机器

(3)副本集的仲裁节点时很轻量级

你可能感兴趣的:(MongoDB,部署,配置,分片集群,mongodb)