分片集群(Sharded Cluster Components)
MongoDB分片集群包括以下部分:
- 分片(shard): 每一个shard包含一个分片子集数据。每一个shard都应当被作为一个复制集合进行部署(replica set)
- mongos:
mongos
实际是一个查询的路由,提供了客户端与分片集群之前的接口; - config servers: 配置服务存储和配置了集群的元数据。从3.4开始,config servers必须部署为复制集合(CSRS)
生产配置
在生产环境中,确保数据是冗余的,以确保系统的高可用。在生产环境部署分片集群时,请考虑下面的建议:
- 使用包含3个成员的复制集群环境来部署Config Servers
- 每一个分片使用包含3个成员的replica set
- 部署一个或多个mongos路由服务
尽可能的,结合灾难恢复进行部署设计(容灾设计,比如让数据的replica set的成员分布在不同的机房,避免一个机房出现问题,整个replica set不可用)。
使用分片服务需要至少两个分片来分发数据。你也可以先只使用一个分片,以便将来扩展,增加新的分片。