sql >> Base de Datos >  >> NoSQL >> MongoDB

error de tiempo de espera de conexión mongodb

Quería proporcionar esta respuesta tal como apareció en una pregunta de examen de mongodb para la universidad mongodb en línea gratuita. Es completo y proporciona documentación.

Lo he descubierto y aclararé algunas confusiones causadas principalmente por la falta de explicación en las lecciones. No estoy siendo crítico, pero se requiere más explicación para responder adecuadamente a esta pregunta.

Primero, cuando se conecte a mongodb a través de una aplicación, utilizará un controlador. Este controlador tiene barreras que debe atravesar para poder hacer cualquier cosa con el servidor mongodb. Cuando entiendas este concepto de barrior entonces entenderás esta pregunta.

Cada conexión que finalmente se convierte en una lista de cosas que debe ocurrir para atravesar las barreras y, en última instancia, realizar una operación de escritura o lectura.

Visualmente puedes pensarlo así:

*****Nota**:En cualquier lugar a lo largo de esta canalización se produce una falla según su lógica, es posible que no se produzca una operación de lectura/escritura correcta.

Podemos pensar en las barreras 1 - 3 como barreras de red de conectividad. Si la red no funciona o tiene problemas, estos son los problemas que uno notaría a través de los tiempos de espera y el manejo de excepciones de esos tiempos de espera. Lo que uno tiene que entender es que no puede realizar una operación de escritura con problemas de escritura si no puede conectarse al servidor en primer lugar. La lección podría haber ilustrado estos puntos.

El primer conjunto de barreras para una operación de escritura o lectura es tener una conexión establecida con el servidor... Esto se ilustra arriba con las barreras 1 - 3.

Luego, después de tener una conexión de servidor a través de un clúster o un conjunto de réplicas de clústeres, puede definir las preocupaciones de escritura.

Una vez que tenemos una conexión establecida, es posible que no se produzca una escritura por razones distintas a la conectividad de la red. Estos pueden ser colisiones de datos o una asignación extrema de escrituras debido a DDOS o piratería o, en general, no hay suficiente espacio en el servidor para que los datos se escriban en el servidor. El punto es que algo más puede causar una reacción a la preocupación de escritura y, por lo tanto, el control a través de opciones para manejar los errores de preocupación de escritura.

Espero que esto ayude porque me hizo entender la pregunta y la respuesta correcta en consecuencia. En general, no nos enseñaron esto, así que espero que esto ayude a otros a aprender y comprender este circuito de retroalimentación.

Aquí hay algunos artículos que leí para ayudarme a llegar a esta respuesta / conclusión. Si alguien tiene una mejor o mejoría en mi explicación, no dude en enviar sus comentarios.

https://scalegrid.io/blog/understanding-mongodb-client- opciones de tiempo de espera/

https://scalegrid.io/blog/mongodb- escribir-preocupación-3-debe-saber-advertencias/

https://docs.mongodb.com/manual/reference/write-concern/

https://www.mongodb.com/blog /post/selección-del-servidor-next-generation-mongodb-drivers