axe*_*otl 5 mongodb database-replication
出于测试目的,我试图通过设置 slaveDelay=n 的从站来模拟 mongodb 集群中的复制延迟。事实证明,这神奇地导致奴隶被隐藏,所以我的测试无法访问它。
在MongoDB的文档状态“一般来说,我们不希望被用于slaveOkay延迟成员读取因此,设置slaveDelay还隐藏应用程序中的成员,就好像您还可以设置隐藏:。真正的”
有没有办法为我的“非典型”用例进行配置?或者有没有更好的方法来模拟从具有不同时间延迟的不同从站读取?
我尝试使用 TaggedReadPreference 强制测试代码连接到延迟的从站,但这导致
com.mongodb.MongoException: Could not find any valid secondaries with the supplied tags ('{ "delayed" : "true"}'
Run Code Online (Sandbox Code Playgroud)
显然,Java 驱动程序看不到辅助驱动程序。当我删除“slaveDelay”设置时,它连接正常。
这是我的集群配置:
rs.reconfig({
"_id" : "rs0",
"version" : 4,
"members" : [
{ "_id" : 0,
"host" : "localhost:27017",
"priority" : 0,
slaveDelay: 10,
tags: { delayed: "true" }
},
{ "_id" : 1,
"host" : "localhost:27018"
},
{ "_id" : 2,
"host" : "localhost:27019",
"arbiterOnly" : true
}
]
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1758 次 |
| 最近记录: |