A partir de la versión 2.0, MongoDB admite la replicación encadenada. Una replicación encadenada ocurre cuando un El miembro secundario replica desde otro miembro secundario en lugar del principal. Esto podría ocurrir, por ejemplo, si un miembro secundario selecciona su origen de replicación según el tiempo de ping y el miembro más cercano es otro secundario. El origen de replicación para la operación es el miembro desde el que se leen los datos.
La replicación encadenada puede reducir la carga en la red principal. Sin embargo, también puede generar un mayor retraso en la replicación, dependiendo de la topología de la red.
Puedes utilizar el settings.chainingAllowed Configuración en el conjunto de réplicas autoadministradas para deshabilitar la replicación encadenada en situaciones en las que esta genera demoras.
MongoDB habilita la replicación encadenada por defecto. Este procedimiento describe cómo deshabilitarla y cómo volver a habilitarla.
Nota
Si deshabilita la replicación encadenada, el replSetSyncFrom comando y rs.syncFrom() el método no tendrán efecto.
Deshabilitar la replicación encadenada
Para deshabilitar la replicación encadenada,configure settings.chainingAllowed el campo en la Configuración del conjunto de réplicas autoadministradas false en.
Puede utilizar la siguiente secuencia de comandos para settings.chainingAllowed establecer false en:
Copia la configuración en el objeto
cfg:cfg = rs.config() Compruebe si la configuración actual contiene el documento incrustado
settings. Si es así, omita este paso.Advertencia
Para evitar la pérdida de datos, omita este paso si la configuración contiene el documento incrustado
settings.Si la configuración actual no contiene el
settingsdocumento incrustado, cree el documento incrustado emitiendo el siguiente comando:cfg.settings = { } Emita la siguiente secuencia de comandos para
settings.chainingAllowedestablecerfalseen:cfg.settings.chainingAllowed = false rs.reconfig(cfg)
Volver a habilitar la replicación encadenada
Para reactivar la replicación encadenada, configure settings.chainingAllowed trueen. Puede usar la siguiente secuencia de comandos:
cfg = rs.config() cfg.settings.chainingAllowed = true rs.reconfig(cfg)