Un miembro oculto mantiene una copia de la El conjunto de datosprincipal, pero es invisible para las aplicaciones cliente. Los miembros ocultos son útiles para cargas de trabajo con patrones de uso diferentes a los de los demás miembros del conjunto de réplicas. Los miembros ocultos siempre 0 deben tener prioridad y, por lo tanto,no pueden convertirse en principales.db.hello()El método no muestra a los miembros ocultos. Sin embargo, estospueden votar en las elecciones.
En el siguiente conjunto de réplicas de cinco miembros, los cuatro miembros secundarios tienen copias del conjunto de datos del principal, pero uno de los miembros secundarios está oculto.
Comportamiento
Operaciones de lectura
Solo puede leer de un miembro oculto si se conecta directamente al nodo. Si se conecta a un clúster sin conectarse directamente al nodo oculto, no podrá ejecutar consultas en él. Por lo tanto, estos miembros no reciben tráfico, salvo la replicación básica. Utilice miembros ocultos para tareas específicas, como informes y copias de seguridad.
Importante
Si tu set de réplicas contiene miembros atrasados, asegúrate de que los miembros atrasados estén ocultos y no tengan derecho a voto.
Ocultar nodos retrasados del set de réplicas impide que las aplicaciones visualicen y consulten datos retrasados sin una conexión directa a ese nodo. Hacer que los integrantes de set de réplicas retardados no tengan derecho a voto significa que no contarán para reconocer las operaciones de escritura con nivel de confirmación de escritura (write concern) "majority".
Si no ocultas a los miembros atrasados y uno o más nodos dejan de estar disponibles, el set de réplicas debe esperar al miembro atrasado y el punto de confirmación se retrasa. Un punto de confirmación retrasado puede provocar problemas de rendimiento.
Por ejemplo, considere una configuración de conjunto de réplicas primaria-secundaria-retrasada donde la secundaria retrasada vota con un retraso de 10 minutos.
Si una réplica secundaria no retardada no está disponible, la configuración degradada de la réplica primaria retardada debe esperar al menos 10 minutos para confirmar una operación de escritura "majority" con. El punto de confirmación mayoritario tardará más en avanzar, lo que generará problemas de rendimiento similares a la presión de caché con una réplica primaria con una secundaria y un conjunto de réplicas de árbitro (PSA).
Para más información sobre el punto de confirmación mayoritario, consulte Consistencia causal y Problemas de lectura y escritura. Para más detalles sobre la resolución de problemas de rendimiento, consulte el tutorial de mantenimiento del conjunto de réplicas.
En clústeres fragmentados, no se puede acceder a los nodos ocultos a través mongos de. Conectarse directamente a estos nodos para leer datos puede provocar inconsistencias o pérdida de datos. Para aislar la carga de trabajo, utilice preferencias de lectura basadas en etiquetas.
Votación
Los miembros ocultos pueden votar en las elecciones del grupo de réplicas. Si impides la votación de un miembro oculto, asegúrate de que el grupo tenga una mayoría activa; de lo contrario, el grupo primario se retirará.
Para efectos de copias de seguridad,
db.fsyncLock()garantiza que los archivos de datos se puedan copiar de forma segura mediante utilidades de copia de seguridad de bajo nivelcpcomo,scptaro. Un que empieza a usar los archivos copiados contiene datos escritos por el usuario que son indistinguibles de los datos escritos por el usuario enmongodelmongodbloqueado.Los archivos de datos de un bloqueado
mongodpueden cambiar debido a operaciones como sincronizaciones de registro o instantáneas de WiredTiger. Si bien esto no afecta a los datos lógicos (por ejemplo, a los datos a los que acceden los clientes), algunas utilidades de copia de seguridad pueden detectar estos cambios y emitir advertencias o errores. Para obtener más información sobre las utilidades y procedimientos de copia de seguridad recomendados por MongoDB, consulte Métodos de copia de seguridad para una implementación autogestionada.
Nivel de confirmación de escritura
Miembros ocultos del set de réplicas pueden reconocer operaciones de guardar emitidas con w: <number>. Para las operaciones de escritura emitidas con w : "majority", sin embargo, los miembros ocultos también deben ser miembros con derecho a voto (es decir, members[n].votes mayor que 0) para reconocer la operación de guardar "majority". Miembros del set de réplicas sin derecho a voto (es decir, members[n].votes es 0) no pueden contribuir a reconocer operaciones de escritura con nivel de confirmación de escritura (write concern) majority.
Lectura adicional
Para obtener más información sobre cómo realizar copias de seguridad de bases de datos MongoDB,consulte Métodos de copia de seguridad para una implementación autogestionada. Para configurar un miembro oculto, consulte Configurar un miembro oculto del conjunto de réplicas autogestionadas.