Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Acerca de mongosync

La El binario mongosync es el proceso principal utilizado en Mongosync. mongosync migra datos de un clúster de origen a un clúster de destino.

mongosync replica datos y escribe de un clúster a otro hasta que se realiza la sincronización finalizado. Puedes utilizar esta herramienta para realizar migraciones de datos puntuales entre clústeres de MongoDB con un tiempo de inactividad mínimo.

Para obtener más información sobre mongosync y el comportamiento del clúster de destino durante la ejecución, consulta Consideraciones sobre la sincronización media.

Importante

Hasta que se haya llamado a commit en mongosync y canWrite devuelva true correctamente, las colecciones migradas en el clúster de destino no se pueden usar para aceptar tráfico de lectura o guardado de aplicaciones. No se debe utilizar mongosync para mantener clústeres secundarios para recuperación ante desastres, análisis u otros casos de uso similares.

mongosync rastrea sus acciones actuales a través de estados. mongosync entra en diferentes estados dependiendo de las solicitudes que recibe. El estado actual mongosync determina en qué operaciones API se pueden ejecutar.

Nota

La mayoría de las transiciones de estado se producen como resultado de una llamada a la API. Las excepciones son:

  • La transición de COMMITTING a COMMITTED. Para obtener más información, consulte Finalización de la Sincronización.

  • La transición REVERSING de RUNNING a. Para más información, consulte Sincronización inversa.

Para ver el estado actual de mongosync, usa el endpoint /progress.

El siguiente diagrama ilustra la relación entre los estados mongosync y las operaciones de API:

Diagrama de la relación entre los estados de ``mongosync`` y las operaciones de la API
haga clic para ampliar

La página de Preguntas Frecuentes (FAQ) aborda las preguntas que los usuarios han formulado sobre mongosync.

Debe crear una conexión inicial entre los clústeres de origen y destino antes de que mongosync pueda comenzar a sincronizar datos. Para más información, consulta Conexión mongosync.

Cuando mongosync se conecta a los clusters de origen y destino, el proceso de sincronización entra en el estado IDLE.

Para iniciar el proceso de sincronización, llama al endpoint start.

El endpoint start inicia el estado RUNNING, que es cuando mongosync sincroniza datos desde el clúster de origen al clúster de destino. Si realizas guardados posteriores en el clúster de origen, mongosync aplica las operaciones al clúster de destino.

Para cada colección de origen que se sincroniza, mongosync crea una colección correspondiente en el destino.

mongosync Altera temporalmente algunas de las características de la colección replicada en el clúster de destino. Cambia estas características del clúster de destino a las del clúster de origen durante el COMMIT estado. Para obtener más información, consulte Cambios en las características de la colección.

El estado RUNNING incluye dos fases:

Durante la fase de copia de colección, mongosync ejecuta la transferencia de datos inicial del clúster de origen al clúster de destino. mongosync realiza esta transferencia de datos dividiendo las colecciones de origen en particiones y copiando las particiones a sus colecciones de destino correspondientes.

En migraciones con clústeres de destino pequeños, la fase de copia de recopilación puede agotar la CPU o la memoria del clúster de destino. En migraciones con un tamaño total de recopilación de 64GB o menos a clústeres de destino con 4 CPU/vCPU o menos, la fase de copia de recopilación emite menos escrituras simultáneas en el clúster de destino. Las migraciones de más de 64GB siguen utilizando la concurrencia de escritura predeterminada.

Para deshabilitar esta función, especifique un nivel de carga explícito al iniciar o mongosync reiniciar.

La fase de aplicación del evento de cambio (CEA) comienza después de que finaliza la fase de copia de recopilación.

Durante la fase CEA, mongosync realiza cambios continuos en el clúster de destino a medida que escribe en el clúster de origen.

Para realizar actualizaciones continuas en el clúster de destino, mongosync abre un flujo de cambios en el clúster de origen y aplica los eventos de cambio que recibe al clúster de destino.

Cuando comienza la fase de CEA, mongosync aplica los eventos de cambio que se reciben durante la fase de copia de colección antes de procesar los eventos que se reciben durante la fase de CEA.

Para pausar el proceso de sincronización y entrar en el estado PAUSADO, llama al endpoint pausar.

Para reanudar un proceso de sincronización pausado y devolver mongosync al estado RUNNING, llama al endpoint de reanudar.

Para finalizar la sincronización entre los clústeres de origen y destino, llame al punto final de confirmación.

Nota

Debes bloquear los guardados en el clúster de origen antes de comenzar el proceso de confirmación.

Si anteriormente configuró enableUserWriteBlocking en "sourceAndDestination" cuando utilizó el punto final de inicio, mongosync bloquea automáticamente las escrituras en el clúster de origen cuando utiliza el commit punto final.

Si no has configurado enableUserWriteBlocking en "sourceAndDestination", ejecuta setUserWriteBlockMode en el clúster de origen para bloquear escrituras.

El extremo commit inicia el estado COMMITTING, que es cuando mongosync deja de migrar datos entre los clústeres de origen y destino.

Cuando comienza el estado COMMITTING, mongosync recupera la marca de tiempo de la confirmación, que es la hora de la última operación en el clúster de origen.

Si no hay errores, mongosync envía un mensaje de éxito y sale de CEA procesando eventos hasta la marca de tiempo del commit. mongosync también restaura las características de la colección que mongosync altera temporalmente durante la sincronización.

Cuando se completa el proceso anterior, mongosync entra en el estado CONFIRMADO. El estado COMMITTED indica que el proceso de corte está terminado.

Para invertir la dirección de una operación de sincronización confirmada, llama al punto final reverse.

El punto final reverse inicia el estado REVERSING. mongosync intercambia los clústeres de origen y destino y reanuda la aplicación de eventos de cambio.

Si la sincronización inversa es exitosa, mongosync entra en el estado RUNNING. La sincronización continúa en la dirección inversa desde la tarea de sincronización original.

Para obtener más información sobre mongosync, consulte:

Volver

Inicio rápido

En esta página