MongoDB 集群搭建注意事项

1、分片

分片的含义是指将数据拆分,将其分散存放在不同的机器上的过程,MongoDB的分片机制允许你创建一个包含许多台机器的集群,将数据子集分散在集群中,每一个分片维护着一个数据集合的子集。与单机服务器和副本集相比,使用分片集群架构可以使应用程序具有更大的数据处理能力。

备注:每一个分片都是由一个副本集组成。从MongoDB 3.6版本之后,分片必须是副本集。

2、配置服务器

配置服务器是整个集群的大脑,保存着集群和分片的元数据库,比如:分片信息、群集数据库信息、分片集合信息、块信息、平衡器信息、版本信息、群集操作日志、相关设置信息等。因此配置服务器数据必须保存在非易失性驱动器上。每个配置服务器都应该位于单独的物理机器上,最好是异地分布,同时还需要启用日志功能。

备注:在Mongos3.4版本之后,配置服务器也必须是副本集,并且需要配置三个config。

3、Mongos进程

Mongos提供客户端应用程序和分片群集之间的接口。

部署多个mongos支持高可用性和可伸缩性;常见的模式是mongos在每个应用程序服务器上部署一个 ,在每个应用程序服务器上部署一个 可减少应用程序和之间的网络延迟。或者您可以专用的服务器上部署mongos。大型部署一般使用此方法,因为它将客户端应用程序服务器与mongos分离 这可以更好地控制mongod实例的连接数量。

可以在主分片上部署mongos,mongos不会与mongod实例共享内存。需要注意内存争用可能导致的问题。

理论上可以部署无数个mongos路由。但是由于mongos路由经常与配置服务器进行通信,所以在增加mongos数量时应该密切监视配置服务器的性能。如果您看到性能下降,应该现在mongos的数量

注意:

分片键是不可变。

扫描二维码关注公众号,回复: 8365780 查看本文章

分片键必须有索引。

分片键大小限制512bytes。

分片键用于路由查询。

MongoDB不接受已进行collection级分片的collection上插入无分片

键的文档(也不支持空值插入)

猜你喜欢

转载自www.cnblogs.com/xibuhaohao/p/12120778.html