La primaria es el único nodo en el set de réplicas que recibe operaciones de escritura. MongoDB aplica operaciones de guardado en el primario y luego registra las operaciones en el oplog del primario. Los miembros secundarios duplican este registro y aplican las operaciones a sus conjuntos de datos.
En el siguiente set de réplicas de tres nodos, el primario acepta todas las operaciones de guardar. Luego, los secundarios replican el oplog para aplicarlo a sus conjuntos de datos.
Todos los miembros del set de réplicas pueden aceptar operaciones de lectura. Sin embargo, por defecto, una aplicación dirige sus operaciones de lectura al miembro primario. Consultar preferencia de lectura para obtener más información sobre cómo cambiar el comportamiento de lectura por defecto.
El set de réplicas puede tener como máximo un principal. [1] Si el primario actual deja de estar disponible, una elección determina el nuevo primario. Consulta set de réplicas Elecciones para obtener más detalles.
En el siguiente set de réplicas de 3 nodos, el primario deja de estar disponible. Esto activa una elección que selecciona a uno de los secundarios restantes como nuevo primario.
| [1] | En algunas circunstancias, dos nodos en un set de réplicas pueden transitoriamente creer que son el primario, pero como máximo, uno de ellos podrá realizar escrituras completas con { w:
"majority" } nivel de confirmación de escritura (write concern). El nodo que puede completar { w: "majority" } guardados es el primario actual, y el otro nodo es un primario anterior que aún no ha reconocido su descenso, generalmente debido a una partición de red. Cuando esto sucede, los clientes que se conectan al antiguo primario pueden observar datos obsoletos a pesar de haber solicitado la preferencia de lectura primary, y las nuevas escrituras en el antiguo primario eventualmente se revertirán. |