Replication
Mongodb副本配置slaveDelay但數據仍然立即同步
我已將 slaveDelay 設置為 600 秒,但是當主數據更改時,輔助數據會立即更改。這是帶有 2 個伺服器的 repl 的目前配置。
"members" : [ { "_id" : 0, "host" : “primary.host1:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 1, "tags" : { }, "slaveDelay" : NumberLong(0), "votes" : 1 }, { "_id" : 1, "host" : “secondary.host2:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : true, "priority" : 0, "tags" : { }, "slaveDelay" : NumberLong(600), "votes" : 1 }]
我不知道我哪裡出錯了,或者 slaveDelay 是如何工作的,因為輔助數據應該在 600s 之後更新。
如果輔助執行“初始同步”,它將首先到達主同步,但隨後它將“休眠”(本例為 600 秒)回退,之後,它將繼續同步 600 秒。
如果您觀察初始同步結束時發生的情況,您可以在 mongod.log 中看到 (sleep)。在那次睡眠之後,如果你在 opLog 中查看“最後一個”文件,它的時間戳是 600 秒。當然,您也可以通過 rs.printSlaveReplicationInfo() 看到這一點。