MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

erro de tempo limite de conexão mongodb


Eu queria fornecer essa resposta, pois surgiu em uma pergunta do exame mongodb para a universidade mongodb on-line gratuita. É completo e fornece documentação.

Eu descobri e vou limpar algumas confusões causadas principalmente pela falta de explicação nas lições. Não estou sendo crítico, mas são necessárias mais explicações para responder adequadamente a essa pergunta.

Primeiro, ao se conectar ao mongodb por meio de um aplicativo, você estará usando um driver. Este driver tem barreiras pelas quais deve passar para fazer qualquer coisa com o servidor mongodb. Quando você entender esse conceito de barreira, você entenderá essa questão.

Cada conexão que é feita uma lista de coisas deve ocorrer para passar pelas barreiras e, finalmente, realizar uma operação de gravação ou leitura.

Visualmente, você pode pensar assim:

*****Observação**:Em qualquer lugar ao longo deste pipeline, uma falha ocorre com base em sua lógica, uma operação de gravação/leitura bem-sucedida pode não ocorrer.

Podemos pensar nas barreiras 1 a 3 como barreiras de conectividade de rede. Se a rede estiver inativa ou com problemas, esses são os problemas que se notariam por meio de tempos limite e tratamento de exceção desses tempos limite. O que é preciso entender é que você não pode executar uma operação de gravação com preocupações de gravação se não puder se conectar ao servidor em primeiro lugar. A lição poderia ter ilustrado esses pontos.

O primeiro conjunto de barreiras para uma operação de gravação ou leitura é ter uma conexão estabelecida com o servidor... Isso é ilustrado acima pelas barreiras 1 - 3.

Então, depois de ter uma conexão com o servidor por meio de um cluster e/ou conjunto de réplicas de clusters, você pode definir as preocupações de gravação.

Depois de estabelecermos uma conexão, uma gravação pode não ocorrer por outros motivos além da conectividade de rede. Podem ser colisões de dados ou uma alocação extrema de gravações devido a DDOS ou hacking ou, em geral, espaço insuficiente no servidor para que os dados sejam gravados no servidor. O ponto é que outra coisa pode causar uma reação à preocupação de gravação e, portanto, o controle por meio de opções para lidar com erros de preocupação de gravação.

Espero que isso ajude porque me fez entender a pergunta e a resposta certa de acordo. Principalmente, não fomos realmente ensinados sobre isso, então espero que isso ajude os outros a aprender e entender esse ciclo de feedback.

Aqui estão alguns artigos que li para me ajudar a chegar a esta resposta/conclusão. Se alguém tiver uma melhoria ou melhoria na minha explicação, sinta-se à vontade para fornecer feedback.

https://scalegrid.io/blog/understanding-mongodb-client- opções de tempo limite/

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