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.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
COMMITTINGaCOMMITTED. Para obtener 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 de mongosync, usa el endpoint /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
Conecta clústeres de origen y destino
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.
Iniciar sincronizar
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:
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.
Aplicación de eventos de cambio
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.
Pausar sincronizar
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.
Finalizar sincronización
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.
Sincronización inversa
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.
Obtén más información
Para obtener más información sobre mongosync, consulte: