带种子的MongoClient构造函数

时间:2014-02-21 11:14:34

标签: java mongodb database-replication

假设我的副本集包含一个主要P和三个辅助S1S2S3。假设一个应用程序用这个constructor创建一个Mongo clent。 种子列表为{PS1S2}。请注意,该列表不包含S3

假设应用程序使用secondPreferredS1S2都已关闭。查询会转到P还是S3

javadoc说It will find all members (the master will be used by default),我猜这些查询会转到S3。这是对的吗 ?

1 个答案:

答案 0 :(得分:2)

种子列表就是这样,驱动程序将查询该列表以了解副本集的映射。这意味着它实际上可以使用不在该列表上的成员,即它可以使用S3

当驱动程序必须检测副本集中的更改时,无论是通过故障转移还是通过启动,它都将查询种子列表中的一个成员,基本上是rs.status()并且它将结果存储在自身中在一段时间内,驾驶员认为值得刷新它,或者发生某种情况迫使驾驶员刷新它(即故障转移)。

所以答案是肯定的,它将用于S3