本页导读
- 生产环境配置
- 开发环境配置
“`
一个MongoDB的分片集群由以下部分组成:
分片:每个分片包含分片数据的一个子集,每个分片可以被部署为一个副本集(replica set)。
mongos:mongos扮演了查询路由器的角色,提供客户端应用程序和分片集群之间的接口。
配置服务器:配置服务器存储集群的元数据和配置设定。在Mongo3.4版本,配置服务器必须部署为一个副本集 (CSRS)。
生产环境配置
在一个生产环境集群中,确保数据一定的冗余性,这样你的系统才是高可用的。可以参考如下的一个生产环境分片集群部署方式:
- 将配置服务器发布为拥有三个成员的副本集
- 将每个分片发布为拥有三个成员的副本集
- 发布一个或多个mongos 路由器
在可能的情况下,考虑在一个适合灾难恢复位置的站点部署每个副本集的成员。
数据分片时至少需要两个分片。但加入你计划在不久的将来进行分片,而不是在最开始发布时,那么只有一个分片的分片集群也可能是有用。
你可以在每台应用程序服务器上部署一个mongos 路由服务,使得每台服务器访问分片集群时拥有一致的访问策略。或者,你也可以部署一组mongos路由器,
并且在应用程序和mongos路由器组之间使用代理或者负载均衡器。在这种部署模式下,负载均衡器的负载策略必须配置为客户端是密切关联的,这样同一个客户端的所有连接都会访问同一个mongos 路由服务。
开发环境配置
如果为了开发或者测试,可以将分片集群发布为包含有最少成员的模式。非生产模式的集群由以下部分组成:
- 只有一个成员的配置服务器副本集(CSRS)
- 至少一个分片的分片集群,每个分片发布为只有一个成员的副本集
- 一个mongos 路由器实例
警告
集群测试模式架构只适用于测试或者开发目的