关于:请求分发问题和系统陷入困境。
最近我在生产服务器中配置了 MongoDBSharding,下面给出了详细信息。
我为 mongo 分片配置使用了 3 台单独的机器。
- 第一台机器 - (shard1 primary + shard2 secondary + shard2 arbitor) + Config
- 第二台机器 - (shard2 primary + shard1 secondary + shard1 arbitor) + Config
- 第三台机器——配置
我拥有的不仅仅是 NODE.JS 服务器。所以我在每个节点服务器中启动了 mongos,块大小为 5 MB(例如,在每个节点服务器中使用 6 个节点服务器和 6 个 mongos 即时)。
在我在 mongos 中配置分片设置后,创建了一个数据库,并自动将其作为“shard2”作为主数据库。
但我的问题是我无法将请求分发到我从 NODE.JS 获得的两个分片,因为它自动将 shard2 作为该数据库的主要分片。所以所有请求都只命中 shard2 瞬间。因此,第二台机器因负载问题而陷入困境并获得更多的 CPU 使用率。
请分享您对解决此类问题的意见和建议。
图表
客户端 -> NODE.JS 服务器 -> MONGODB [第一台机器 + 第二台机器 + 第三台机器]