副本设置的心跳频率或超时时间是否可配置?

时间:2012-10-07 12:27:09

标签: mongodb

所有副本集成员通过每2秒发送一次心跳来监视所有其他成员。这些请求将在10秒后超时。

这两个值是否可配置?

2 个答案:

答案 0 :(得分:3)

目前可以在版本3.0之后使用函数 private void FindGarageID() { System.Security.Principal.WindowsIdentity identity = Context.Request.LogonUserIdentity; string loginName = identity.Name; using (tyrescannerdatabaseEntities dbcontext = new tyrescannerdatabaseEntities()) { garage = (from r in dbcontext.AspNetUsers where r.UserName == loginName select r).FirstOrDefault(); if (!garage.GarageID.Equals(null)) { garageID = (int)garage.GarageID; } else { garageID = 1; } } 。或命令replSetGetConfig.settings.heartbeatTimeoutSecs。

https://docs.mongodb.org/v3.0/reference/method/rs.reconfig/#rs.reconfig

https://docs.mongodb.org/v3.0/reference/command/replSetGetConfig/#dbcmd.replSetGetConfig

您可以在http接口中看到:

mongohost:mongoport / replSetGetConfig文本= 1

在设置下,以秒为单位的心跳超时时间

rs.reconfig()

答案 1 :(得分:2)

与MongoDB 2.2.0一样,目前的答案是“这些值在运行时无法配置”。您可以查看github.com/mongodb/mongo中的代码并自行修改这些值,但这可能会产生意外的副作用。

幸运的是,正在进行的工作是为MongoDB的下一次迭代添加可配置的超时/心跳设置(2.3.x dev / unstable,最终将在2.4生产/稳定版本中达到高潮)。

有关详情,请参阅MongoDB问题跟踪器中的SERVER-1929