MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Errore di timeout della connessione mongodb

Volevo fornire questa risposta poiché è emersa in una domanda d'esame mongodb per l'università mongodb online gratuita. È completo e fornisce documentazione.

L'ho capito e ripulirò un po' di confusione causata principalmente dalla mancanza di spiegazioni nelle lezioni. Non sono critico, ma sono necessarie ulteriori spiegazioni per rispondere correttamente a questa domanda.

Innanzitutto, quando ti connetti a mongodb tramite un'applicazione, utilizzerai un driver. Questo driver ha delle barriere che deve attraversare per poter fare qualsiasi cosa con il server mongodb. Quando capirai questo concetto di barriera, allora capirai questa domanda.

Ogni connessione che viene in definitiva costituita da un elenco di cose deve verificarsi per superare le barriere e condurre infine un'operazione di scrittura o lettura.

Visivamente puoi pensarla in questo modo:

*****Nota**:ovunque lungo questa pipeline si verifica un errore in base alla tua logica, un'operazione di scrittura/lettura riuscita potrebbe non verificarsi.

Possiamo pensare alle barriere 1 - 3 come barriere di connettività di rete. Se la rete è inattiva o presenta problemi, questi sono i problemi che si noteranno attraverso i timeout e la gestione delle eccezioni di tali timeout. Quello che bisogna capire è che non è possibile eseguire un'operazione di scrittura con problemi di scrittura se non è possibile connettersi al server in primo luogo. La lezione avrebbe potuto illustrare questi punti.

La prima serie di ostacoli a un'operazione di scrittura o lettura consiste nell'avere una connessione stabilita al server... Ciò è illustrato sopra dalle barre 1 - 3.

Quindi, dopo aver stabilito una connessione al server tramite un cluster e/o una serie di repliche di cluster, puoi definire i problemi di scrittura.

Dopo aver stabilito una connessione, potrebbe non verificarsi una scrittura per motivi diversi dalla connettività di rete. Queste possono essere collisioni di dati o un'assegnazione estrema di scritture a causa di DDOS o hacking o in generale spazio sul server insufficiente per la scrittura dei dati sul server. Il punto è che qualcos'altro può causare una reazione al problema di scrittura e quindi il controllo attraverso le opzioni per gestire gli errori di problema di scrittura.

Spero che questo aiuti perché mi ha fatto capire la domanda e la risposta giusta di conseguenza. Per lo più, non ci è stato insegnato davvero, quindi spero che questo aiuti gli altri a imparare e comprendere questo ciclo di feedback.

Ecco alcuni articoli che ho letto per aiutarmi ad arrivare a questa risposta/conclusione. Se qualcuno ha un miglioramento o un miglioramento sulla mia spiegazione, non esitare a fornire un feedback.

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

https://scalegrid.io/blog/mongodb- write-concern-3-must-know-caveats/

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

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