MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

erreur de temporisation de la connexion mongodb

Je voulais fournir cette réponse car elle est apparue dans une question d'examen mongodb pour l'université mongodb en ligne gratuite. Il est complet et fournit de la documentation.

J'ai compris et je vais nettoyer une certaine confusion causée principalement par un manque d'explication dans les leçons. Je ne suis pas critique, mais des explications supplémentaires sont nécessaires pour répondre correctement à cette question.

Tout d'abord, lors de la connexion à mongodb via une application, vous utiliserez un pilote. Ce pilote a des obstacles qu'il doit franchir pour pouvoir faire quoi que ce soit avec le serveur mongodb. Lorsque vous comprendrez ce concept de barrière, vous comprendrez alors cette question.

Chaque connexion qui est finalement établie, une liste de choses doit se produire afin de franchir les barrières et finalement effectuer une opération d'écriture ou de lecture.

Visuellement, vous pouvez y penser comme ceci :

*****Remarque** :n'importe où le long de ce pipeline, une erreur se produit en fonction de votre logique, une opération d'écriture/lecture réussie peut ne pas se produire.

Nous pouvons considérer les barrières 1 à 3 comme des barrières réseau de connectivité. Si le réseau est en panne ou rencontre des problèmes, ce sont les problèmes que l'on remarquerait à travers les délais d'attente et la gestion des exceptions de ces délais d'attente. Ce qu'il faut comprendre, c'est que vous ne pouvez pas effectuer une opération d'écriture avec des problèmes d'écriture si vous ne pouvez pas vous connecter au serveur en premier lieu. La leçon aurait pu illustrer ces points.

Le premier ensemble de barrières à une opération d'écriture ou de lecture est d'avoir une connexion établie au serveur... Ceci est illustré ci-dessus par les barrières 1 à 3.

Ensuite, après avoir établi une connexion au serveur via un cluster et/ou un ensemble de répliques de clusters, vous pouvez définir des problèmes d'écriture.

Une fois que nous avons établi une connexion, une écriture peut ne pas se produire pour des raisons autres que la connectivité réseau. Il peut s'agir de collisions de données ou d'une attribution extrême d'écritures dues à DDOS ou à un piratage ou, en général, d'un espace serveur insuffisant pour que les données soient écrites sur le serveur. Le fait est que quelque chose d'autre peut provoquer une réaction au problème d'écriture et donc le contrôle via des options pour gérer les erreurs de problème d'écriture.

J'espère que cela aide car cela m'a fait comprendre la question et la bonne réponse en conséquence. La plupart du temps, nous n'avons pas vraiment appris cela, alors j'espère que cela aidera les autres à apprendre et à comprendre cette boucle de rétroaction.

Voici quelques articles que j'ai lus pour m'aider à arriver à cette réponse / conclusion. Si quelqu'un a une meilleure ou une amélioration de mon explication, n'hésitez pas à donner votre avis.

https://scalegrid.io/blog/understanding-mongodb-client- timeout-options/

https://scalegrid.io/blog/mongodb- écrivez-préoccupation-3-doit-savoir-mises en garde/

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

https://www.mongodb.com/blog /post/server-selection-next-generation-mongodb-drivers