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 conjunto de réplicas puede tener como máximo un servidor principal. [1] Si el servidor principal actual deja de estar disponible, se realiza una elección para determinar el nuevo servidor principal. Consulte Elecciones de Conjuntos de Réplicas para obtener más información.
En el siguiente conjunto de réplicas de 3 miembros, el principal deja de estar disponible. Esto desencadena una elección que selecciona a uno de los secundarios restantes como el nuevo principal.
| [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. |