![当我停止辅助数据库时,MongoDB 分片副本集过载](https://linux22.com/image/722635/%E5%BD%93%E6%88%91%E5%81%9C%E6%AD%A2%E8%BE%85%E5%8A%A9%E6%95%B0%E6%8D%AE%E5%BA%93%E6%97%B6%EF%BC%8CMongoDB%20%E5%88%86%E7%89%87%E5%89%AF%E6%9C%AC%E9%9B%86%E8%BF%87%E8%BD%BD.png)
我有一个 MongoDB Sharding,包含 8 个服务器和 4 个副本集。每个副本集都有主副本集、次副本集和仲裁副本集。
分布如下:
- RS01 -> Server1A (primary), Server1B (secondary)
- RS02 -> Server2A (primary), Server2B (secondary)
- RS03 -> Server3A (primary), Server3B (secondary)
- RS04 -> Server4A (primary), Server4B (secondary)
仲裁器和配置服务器分布在不同的服务器上。(例如,RS01 的仲裁器位于 Server2B 上)。
我的问题是,例如,当我停止 Server1B(辅助服务器)上的服务时,Server1A 会在几分钟内超载,并且服务会失败。
我的 mongodb 有大约 10 亿个文档,流量非常大。但在正常情况下,负载不会超过 4 或 5。因此,通常情况下,它工作正常,除非副本集的单个成员发生故障。
我的mongodb-server版本是3.4.13,在Debian Jessie下运行,使用Pecl Mongodb版本mongodb 1.4.3从php连接到mongos。
可能是什么问题?有什么想法吗?
提前致谢。