mongosync no son compatibles ni han sido probados para su uso con implementaciones de MongoDB no genuinas. Aunque las herramientas pueden funcionar en estas implementaciones, no se ofrecen garantías de compatibilidad.El El binariomongosync 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. Puede usar esta herramienta para realizar migraciones de datos únicas 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 Monitorea sus acciones actuales mediante estados. mongosync cambia de estado según las solicitudes que recibe. El mongosync estado actual de determina qué operaciones de 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
COMMITTINGdeCOMMITTEDa. Para más información, consulte Finalización de la sincronización.La transición
REVERSINGdeRUNNINGa. Para más información, consulte Sincronización inversa.
Para ver el estado actual mongosync de, utilice el punto final /progress.
El siguiente diagrama ilustra la relación entre los estados mongosync y las operaciones de API:
La página de Preguntas Frecuentes (FAQ) aborda las preguntas que los usuarios han formulado sobre mongosync.
Detalles
Conectar clústeres de origen y destino
Debe crear una conexión inicial con los clústeres de origen y destino antes de que mongosync pueda empezar a sincronizar datos. Para obtener más información, consulte Conexión mongosync de.
Cuando mongosync se conecta a los clústeres de origen y destino, el proceso de sincronización entra en el estado INACTIVO.
Iniciar sincronización
Para iniciar el proceso de sincronización, llama al endpoint start.
El punto final start inicia el estado RUNNING, que es cuando mongosync sincroniza los datos del clúster de origen con el de destino. Si realiza operaciones de escritura 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:
Copia de la colección
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.
Solicitud de cambio de evento
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 CEA, mongosync aplica los eventos de cambio que se reciben durante la fase de copia de recopilación antes de procesar los eventos que se reciben durante la fase CEA.
Pausar sincronización
Para pausar el proceso de sincronización e ingresar al estado PAUSADO, llame al punto final de pausa.
Para reanudar un proceso de sincronización en pausa y devolver mongosync al RUNNING estado, llame al punto final de reanudación.
Finalizar sincronización
Para finalizar la sincronización entre los clústeres de origen y destino, llame al punto final de confirmación.
Nota
Debe bloquear las escrituras 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 configuró enableUserWriteBlocking "sourceAndDestination"en, ejecute en el clúster de origen para bloquear las setUserWriteBlockMode escrituras.
El commit punto final 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 de confirmación. mongosync también restaura las características de la colección que mongosync altera temporalmente durante la sincronización.
Al finalizar el proceso anterior, mongosync pasa al estado COMPROBADO. El COMMITTED estado indica que el proceso de transferencia ha finalizado.
Sincronización inversa
Para invertir la dirección de una operación de sincronización confirmada, llame al punto final inverso.
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 se realiza correctamente, mongosync pasa al estado RUNNING. La sincronización continúa en dirección inversa a la del trabajo de sincronización original.
Obtén más información
Para obtener más información sobre mongosync, consulte: