MongoS 在网络分裂期间拒绝连接

MongoS 在网络分裂期间拒绝连接

我正在探索分片的 MongoDB 集群,但我无法理解网络分裂期间 MongoS 的行为。

我的测试环境工作正常,直到我模拟网络分裂。在“最小”网络分区中,我有:

  • N 个 MongoS 服务器
  • 仅有 1 个配置服务器(共 3 个),处于 SECONDARY 状态
  • 和 N 个分片服务器

在此分区中:

  • 首先,所有 MongoDB 服务器 + MongoS 仍然接受连接并按预期运行
  • 如果我重新启动这些 MongoDB+MongoS 服务器 => MongoS 服务器启动但拒绝连接(MongoNetworkError:连接 ECONNREFUSED)。

你知道为什么吗?我肯定忽略了一些显而易见的东西。据我从启动日志中得知,MongoS{"find":"shards", "readConcern":{"level":"majority"}}向配置服务器发送查询,这似乎在网络分裂期间肯定会失败(Command timed out waiting for read concern to be satisfied)。

谢谢你的帮助

相关内容