Los drivers de MongoDB utilizan un algoritmo de selección de servidor para elegir qué miembro del set de réplicas utilizar o, cuando están conectados a múltiples mongos instancias, qué instancia de mongos utilizar.
La selección del servidor se produce una vez por operación.
Nota
Transacciones que contienen operaciones de lectura deben utilizar la preferencia de lectura primary. Todas las operaciones en una transacción dada deben dirigirse al mismo nodo.
Preferencia de lectura para sets de réplicas
La selección de servidor ocurre una vez por operación y está regida por la preferencia de lectura y la configuración de localThresholdMS para determinar la elegibilidad de los nodos para lecturas. La preferencia de lectura se reevalúa para cada operación.
Modo de preferencia de lectura | Proceso de Selección |
|---|---|
|
|
| |
| |
| |
|
Preferencia de lectura para clústeres fragmentados
Equilibrio de carga
Si hay más de una instancia en la lista de mongos mongos nodos iniciales, el controlador determina cuál es el "más cercano" (es decir, el nodo con el menor tiempo promedio de ida y vuelta de red) y calcula la ventana de latencia sumando el tiempo promedio demongos localThresholdMS ida y vuelta de esta instancia "más cercana" y la. El controlador realiza un balanceo de carga aleatorio entre las instancias mongos que se encuentran dentro de la ventana de latencia.
Nota
localThresholdMS inclina la selección de servidores hacia los destinos locales de menor latencia. La configuración no puede remover la topología de red entre regiones que crea un solo extremo privado ni garantizar que todas las conexiones permanezcan en la región local. En esta configuración, un cliente aún puede conectarse a través de un mongos en otra región.
Preferencia de lectura y Particiones
Para los clústeres fragmentados que tienen fragmentos de set de réplicas, mongos aplica la preferencia de lectura al leer de los fragmentos. La selección del servidor está gobernada por la preferencia de lectura y los ajustes de replication.localPingThresholdMs. La preferencia de lectura se vuelve a evaluar para cada operación.
Modo de preferencia de lectura | Proceso de Selección |
|---|---|
|
|
| |
| |
| |
| [1] | (1, 2) El valor umbral por defecto es de 15 milisegundos. |