replica mongodb mongoose replicaset

mongodb replica set config



Conjunto de réplica Mongoose/MongoDB usando secundaria para lecturas (3)

¿Cómo puedo verificar si la lectura secundaria o la más cercana está funcionando?

Si tiene acceso a sus máquinas, una forma simple de verificar cuáles se están consultando es con mongostat . Simplemente inicie sesión en uno de sus servidores y ejecute

mongostat --discover

Esto le dará salida básica en inserciones / consultas / actualizaciones / eliminar que se están ejecutando en cada máquina en su conjunto de réplicas. Si tiene un sistema silencioso, será fácil ver a dónde se están redirigiendo las consultas para que, al menos, pueda saber si se está recibiendo un golpe en sus secundarias.

Si no es así, deberá investigar la configuración del controlador.

Recientemente cambié la configuración de mi servidor para incluir un conjunto de réplicas. Los DB secundarios se encuentran en múltiples regiones alrededor del mundo para disminuir la latencia. El problema es que creo que todas las lecturas se hacen desde el maestro y no desde los servidores secundarios. Veo 500 ms la latencia en newrelic en servidores lejos de la base de datos maestra, pero el servidor intermedio, que está en la misma región que el maestro, es ~ 20 ms. ¿Cómo puedo verificar si la lectura secundaria o la más cercana está funcionando o tengo una configuración faltante o incorrecta? (He intentado SECONDARY_PREFERRED, y NEAREST)

Url:

mongodb://1.1.1.1:27017,1.1.1.2:27017,1.1.1.3:27017,1.1.1.4:27017,1.1.1.5:27017/mydatabase

Mis opciones se ven así:

"replSet": { "rs_name": "myRepSet" "readPreference": "ReadPreference.SECONDARY_PREFERRED", "read_preference": "ReadPreference.SECONDARY_PREFERRED", "slaveOk": true }

Versión mangosta: 3.8.x


De acuerdo con los problemas del proyecto en gitHub hubo un problema donde la preferencia de lectura no parece estar funcionando cuando se actualiza a la versión más nueva ([email protected] & [email protected]) ya que todas las lecturas se realizan desde el maestro y no desde los servidores secundarios.

Según los comentarios, este problema no se produce cuando se retrocede a la versión anterior ( [email protected] & [email protected] ), las lecturas comenzarán a ir a los secundarios (nivel de recopilación). Este problema está destinado a solucionarse en la version 3.8.7 .

Por favor, consulte los siguientes problemas para el mismo:

https://github.com/Automattic/mongoose/issues/1833 https://github.com/Automattic/mongoose/issues/1895